一、nginx_parsing
这个解析漏洞其实是PHP CGI的漏洞,在PHP的配置文件中有一个关键的选项cgi.fix_pathinfo默认是开启的,当URL中有不存在的文件,PHP就会向前递归解析。在一个文件/xx.jpg后面加上/php会将/xx.jpg/xx.php解析为php文件。
1、进入以下Vulhub路径并开启docker容器
2、浏览器访问开启的网站
3、将一句话木马写入到.jpg图片中(先写入.txt后改成.jpg)
4.上传木马并访问
5、使用中国菜刀连接
二、CVE-2013-4547
此漏洞为文件名逻辑漏洞,该漏洞在上传图片时,修改其16进制编码可使其绕过策略,导致解析为
php。当Nginx得到一个用户请求时,首先对url进行解析,进行正则匹配,如果匹配到以.php后缀结尾的文件名,会将请求的PHP文件交给PHP-CGI去解析。
1、使用以下命令启动靶机并通过浏览器访问靶场页面
2、浏览器开始访问网站
3、准备一句话木马(原理:当利用解析漏洞访问改木马时,会生成一个cys666的php)
<?php fputs(fopen('cys666.php','w'),'<?php @eval($_POST["cmd"])?>');?>
3、使用burpsuite开始抓包,并将抓到的包,做以下修改
①在.jpg后缀名加“空格”、“空格”、“.php”
②修改空格的hex,将“20”改为“00”,放包
③上传成功
④访问上传的文件让其“下崽”,并将%20%20改为“空格”“空格”
⑤再修改hex,将“20”改成“00”
⑥访问“崽子”(即cys666.php,"崽子"是一句话木马,后面可用中国菜刀连接木马)
4、使用中国菜刀连接“崽子”