Vulhub-CVE-2013-4547

漏洞介绍

此漏洞为文件名逻辑漏洞,该漏洞在上传图片时,修改其16进制编码可使其绕过策略,导致解析为php。

当Nginx得到一个用户请求时,首先对url进行解析,进行正则匹配,如果匹配到以.php后缀结尾的文件名,会将请求的PHP文件交给PHP-CGI去解析。当php-fpm处理时碰到0x00截断,则图片会当作php文件解析,触发图片马。

影响版本:

Nginx 0.8.41 ~ 1.4.3 / 1.5.0 ~ 1.5.7

漏洞复现

  1. 搭建的vulhub漏洞环境,启动漏洞环境, 访问http://your-ip:8080/,确认是否搭建好环境

  1. 查看源代码,查看过滤的文件格式

  1. 上传一个图片格式的木马文件名字为phpinfo.png
 <?php phpinfo();?>

  1. burp 拦截后需要在文件名后面加两个空格,发现上传成功

构造phpinfo.png[0x20][0x00].php 来造成Nginx 解析漏洞使我们的phpinfo.png解析成php

上传phpinfo.png .php 文件(注意jpg后面有两个空格)

然后在burp中抓取数据包把phpinfo.png后面的两个空格 [20][20] --> [20][00] ,发现成功上传

  1. 访问192.168.0.128:8080/uploadfiles/phpinfo.png .php,burp抓包拦截,

把phpinfo.png后面的两个空格 [20][20] ---> [20][00] ,发现成功访问文件

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值