phpMan.php是一个unix上将man page展现在web界面上的php脚本工具,虽然做了一定的防命令行漏洞处理,但是上周还是被LoaA发现了有XSS安全漏洞:
所谓XSS:就是Cross Site Script 跨网站脚本漏洞的缩写。如果纵容这种漏洞有什么危害呢?
上图只是破坏者利用脚本打印除了自己在网站的所有的Cookie列表:我们看到的有mt的后台,有analytics的session,还有最近试验的使用mod_usertrack生成的用户识别cookie。如果这个链接是侵入者诱导其他用户在一个第3方的网站上触发,然后引导用户指向当前网站,然后再利用其他的脚本将用户在当前网站的cookie或其他信息发送到另外一个网站上。流程大致如下:
dirty-web.com/spam email ==user click==> commecial-site.com ==send cookie==> dirty-web.com
这样就完成了一次对用户在一个商业网站上的信息盗取。
解决的方法也很简单,就是要严格各个环节的用户输入校验:尤其是要作为信息打印出来的用户输入数据,一定要经过异常输入过滤。在phpMan.php脚本中我使用的是htmlspecialchars将所有非ASCII字符进行了处理。
检查自己的网站是否含有XSS漏洞也很简单:
就是在各种输入接口输入或者在GET的URL参数中加入: ><img src=1 onerror=javascript:alert(document.cookie)< 如果有js alert执行,说明可能有潜在漏洞。
参考文档:
跨站脚本执行漏洞详解
http://c4st.51.net/doc/xss_intro.html
版权声明:可以转载,转载时请务必以超链接形式标明文章 phpMan.php中的XSS漏洞(Cross Site Script) 的原始出处和作者信息及本版权声明。
http://www.chedong.com/blog/archives/001081.html