WEB漏洞之文件上传漏洞与文件包含漏洞的结合

WEB漏洞之文件上传漏洞与文件包含漏洞的结合

以getimage()函数为例,只能上传图片,因此可以通过制作一个图片马来配合文件包含漏洞达到webshell

图片马的制作 在cmd中通过 copy /b 1.jpg+2.php 3.jpg 就可以将1.jpg与2.php合并成一个3.jpg。(若是在桌面上建立的文件的话,需要先cd desktop进入桌面文件夹)
然后通过文件包含漏洞,在通过PHP的相应函数(比如include())引入文件时,由于传入的文件名没有经过合理的校验,从而操作了预想之外的文件,就可能导致意外的文件泄露甚至恶意的代码注入。从而执行了图片马中的php代码。
当一句话木马被过滤了<?时,可以通过
执行图片马
目前已知可以上传修改文件名和条件文件头的php文件,但无法被解析。
虽然在apache中,可以用 .htacess文件来实现,可如果也被正则了。
上传一个.user.ini
简单的说,我们应该知道 PHP 中的配置文件 php.ini ,很多操作都需要修改它,比如说可以隐藏报错、修改上传文件限制等。
而我们要用的 .user.ini也是 PHP 的一个配置文件,但没有 php.ini 等级高。就像admin用户和普通用户的差别,php.ini 有很多配置权限,但 .user.ini没有。详情了解,可以看看这个
但仍然可以帮助我们执行图片马原因有以下的配置选项。
auto_prepend_file 或 auto_append_file
auto_prepend_file 在页面顶部加载文件
auto_append_file 在页面底部加载文件
什么意思呢,相当于在每个php页面加上一句 include() ,可以在PHP中加载执行另一个PHP文件。
注意,是每个,也就是说只要有 PHP 文件被加载,就会去加载执行这个文件,而且是以 PHP 的方式解析。
auto_prepend_file=test.jpg,当执行已经存在的ubdex.php时,就会去加载执行test.php。
所以,我们上面绕过了文件验证,上传了一个 .user.ini 文件,再上传一个图片马,让被执行的 PHP 文件去包含执行我们的图片马,就可以用蚁剑连接来得到flag。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值