成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Web應用程序攻防實戰

原創
安全 應用安全
想親自擊敗黑客嗎?OK,沒問題,首先你要了解黑客是如何查找安全漏洞的,其次就是要了解黑客是如何利用Web應用程序漏洞的,最后就是了解他們是如何組織進攻的。本文將以一個漏洞百出的程序Jarlsberg為例,為大家講解Web應用程序的攻防手段,全面解剖黑客的行徑和應對辦法。

【51CTO.com獨家翻譯】想親自擊敗黑客嗎?OK,沒問題,首先你要了解黑客是如何查找安全漏洞的,其次就是要了解黑客是如何利用Web應用程序漏洞的,最后就是了解他們是如何組織進攻的。本文將以一個漏洞百出的程序Jarlsberg為例,為大家講解Web應用程序的攻防手段,全面解剖黑客的行徑和應對辦法。Jarlsberg是用Python編寫的,因此略懂Python會幫助理解本文,但即使不懂也無所謂,因為漏洞和修復漏洞的方法基本上是與語言無關的。另外我們會涉及到黑盒黑客和白盒黑客,所謂黑盒黑客就是通過操縱輸入字段或URL參數,觀察Web應用程序的響應和變化,嘗試找出讓它出錯的一種攻擊手段,這里我們通常會查看HTTP/HTTPS請求和響應,推薦兩款很棒的輔助工具Burp和WebScarab;所謂白盒黑客就是分析Web應用程序源代碼,嘗試找出bug并進行攻擊的手段。

你完全可以根據本文介紹的內容搭建一個滲透測試環境,自己做做練習,以提升自己的技能,當然最重要的是通過學習達到舉一反三,以后自己也能發現和修復漏洞,Jarlsberg的下載地址是http://jarlsberg.appspot.com/jarlsberg-code.zip,你也可以直接訪問http://jarlsberg.appspot.com/start,AppEngine會自動為你創建一個新的Jarlsberg實例,每個實例都運行在獨立的沙盒中,用唯一的ID進行標識,你可以隨意展開攻擊,你也可以將你唯一的URL分享給其它人進行攻擊研究。

如果想在本地運行Jarlsberg,需要先安裝Python 2.5,其它版本可能不行,執行Jarlsberg安裝的命令如下:

$ cd

$ ./jarlsberg.py
 

用localhost:8008替換所有文件中的jarlsberg.appspot.com,并用分配給你的唯一ID替換默認ID 123。

如果是直接在AppEngine上創建的Jarlsberg實例,它有諸多限制,如不能訪問和干擾其它Jarlsberg實例,資源使用也是有限制的,如果你搗鼓得Jarlsberg實例無法運行時,可以通過下面的URL進行重置,不過要注意的是所有歷史數據都將被清除掉。

http://jarlsberg.appspot.com/resetbutton/123

注意用你自己的ID替換這里的123。

Jarlsberg各個源文件介紹:

◆jarlsberg.py是Jarlsberg Web服務器

◆jdata.py在數據庫中存儲默認數據,有一個管理員賬號和兩個默認用戶

◆jtl.py是Jarlsberg模板語言

◆jsanitize.py是Jarlsberg保護自身HTML免受攻擊的模塊

◆resources/...目錄下存放了所有模板,圖片和CSS等文件

跨站腳本(XSS)

跨站腳本(XSS)指的是黑客通過網站漏洞在不受自己控制的網站內容(通常是HTML或JavaScript)中植入代碼,當受害者瀏覽這樣的網頁時,植入的代碼就會在受害者瀏覽器中執行,這樣就可以順理成章地竊取受害者與網站請求相關的個人信息。

在一個反射式XSS攻擊中,攻擊通常是嵌入在請求URL中,受害者瀏覽黑客構造的惡意URL時就被攻擊了。在存儲式XSS攻擊中,攻擊者將攻擊代碼保存在應用程序內,受害者瀏覽到這樣的網頁時就觸發攻擊代碼的執行。

假設http://www.google.com/search?q=flowers這個URL返回的頁面包含以下HTML片段:

Your search for 'flowers'

returned the following results:

查詢參數q的值被嵌入到Google返回的頁面中,如果www.google.com不做任何驗證或忽略q,攻擊者就可以構造一個類似下面這樣的鏈接進行攻擊嘗試:


http://www.google.com/search?q=flowers+%3Cscript%3Eevil_script()%3C/script%3E

接下來就是欺騙受害者點擊這個鏈接,當受害者點擊這個鏈接后,他的瀏覽器就會解析下面的代碼:

Your search for 'flowers'

returned the following results:

瀏覽器就會執行evil_script(),于是受害者的瀏覽器狀態和所有該域名對應的cookies都全部暴露出來了。

有時即使受害者不直接地點擊惡意鏈接也會遭受攻擊,例如,假設攻擊者擁有www.evil.example.com域名,在頁面中用