close
閱畢日期:2011/11/17 或許稱為放棄日期會比較好...(笑)

這本書一開始是先介紹工具的安裝,然後帶你認識HTTP的基礎、相關的協定。接著就教你一些基本的作法,像是故意竄改POST、URL、偽造cookie、上傳有問題的檔案、自動化大量掃描網站...等等的。cURL跟LibWWWPerl上場,主要是介紹,因為後面會用到這兩個神兵利器。後面幾章是真正的重點:
  • 第九章-尋找設計瑕疵
    • 規避必要的穿梭瀏覽:故意不要照網路上的步驟來作,以購物車為例,可以試著故意跳過某些頁面,看是否有問題。
    • 試圖進行特權操作:以有特權的身份,像網站管理者,去登入再登出以一般使用者登入,去瀏覽網站,看可不可以訪問到只有管理者才能存取的頁面。
    • 濫用密碼回復功能:試著操作看看,看是否會洩漏使用者的私密資訊或者是有機會被冒用。
    • 濫用可預測的識別符:以可預測的URL去試著存取使用者無法存取的頁面,例如多使用者的wordpress,由於編輯文章的URL固定,只要修改某些參數,看是否能存取到別人的資訊。
    • 預測憑證:像是網站自動產生密碼,最好要用非常亂的亂數,而不是以使用者名稱加日期這種可以預期的組合。
    • 尋找應用程式裡的隨機數字:寫的好模糊,我想應該是避免把重要的隨機資訊放在有機會被使用者看到的地方,像是cookie、Header或是頁面裡,讓有心人可以猜到你這個隨機數字要幹麼。
    • 測試隨機數字:取得隨機數字大量產生後的結果,看是否真的夠隨機。
    • 濫用可重複性:避免讓人一直重複嘗試,例如密碼輸入錯誤三次就暫時block住
    • 濫用高負載動作:就做DoS測試,看網站是否會因此掛掉或吐出不該吐的錯誤訊息
    • 濫用限制機制:比如知道密碼輸入錯誤三次會block住,就故意去block住其他人的帳號,讓其他人因此暫時無法使用網站。
    • 濫用競爭狀況:race condition
  • 第十章-攻擊Ajax
    • 即時觀察AJAX request:就用firebug或其他工具去看,並log下來研究
    • 識別應用程式裡的javascript:了解頁面怎麼使用javascript
    • 追溯ajax活動的來源:去trace
    • 攔截與修改ajax請求:利用WebScarab去即時修改request裡的欄位值,看網站是否會因此有問題。
    • 攔截與修改伺服器回應:跟前一項相反,看客戶端程式怎麼處理假造的伺服器回應。
    • 以注入的資料破壞ajax:搭配前兩項來注入有問題的資料、XML、JSON...
    • 破壞客戶端狀態:簡單說,就是網站應用程式不應該倚賴客戶端資料的有效性。
    • 檢查跨網域檢查:先看網頁裏面會不會去載入其他網域的javascript,然後藉著修改hosts,把那些javascript換成修改過的版本...
    • 透過JSON劫持讀取私有資料:一個是要嚴格檢查JSON,另一個則是要避免直接的把JSON資料送出去。
  • 操作session:
    • 在cookie裡尋找session id
    • 在請求裡尋找session id
    • 尋找Authorization header
    • 分析session id逾期:故意操作cookie的逾期資訊。
    • 使用Burp分析session id:避免session id是可以預期的,burp可以幫你檢查看session id是否夠隨機
    • 使用WebScarab分析session隨機性:跟上一項一樣,只是改用另外一個工具
    • 改變session避開限制:比如網站本來有限制,看刪除cookie之後,網站是不是還會擋你
    • 假扮其他用戶:這也是改cookie裡的使用者名稱,看網站是否會因此認錯人、處理錯誤
    • 鎖定session:也是利用假cookie的方式
    • 測試跨網站請求偽造:一樣紀錄網站正常程序,例如購物車,然後故意直接使用某個步驟的網址去瀏覽,看是否仍可以正常運作,如果可以,表示有心人有機會使用這個網址去作惡
  • 第十二章:多面向測試
    • 利用XSS竊取cookie
    • 利用XSS建立覆蓋物
    • 利用XSS產生HTTP請求
    • 以互動的方式嘗試基於DOM的XSS問題
    • 規避欄位長度限制
    • 以互動的方式嘗試跨網站追蹤
    • 修改Host標頭
    • 以暴力法猜解用戶名稱與密碼
    • 以互動的方式嘗試PHP include檔案注入問題
    • 建立解壓縮炸彈:故意上傳有問題的壓縮檔,讓應用程式在解壓縮時會持續解壓縮,導致有問題。
    • 以互動的方式嘗試命令注入
    • 以系統化的方式嘗試命令注入
    • 以互動的方式嘗試XPath注入
    • 以互動的方式嘗試SSI注入
    • 以系統的方式嘗試XPath注入
    • 以互動的方式嘗試LDAP注入
    • 以互動的方式嘗試紀錄注入


跨網站指令稿(XSS)參考書:"Hacking exposed: web application"
使用cURL時,要注意,cURL不會編碼資料,例如 "-d title=My comments"應該要自己把空白改用%20 "-d title="My%20comments"。

2012/1/18 補充(之前有記在tomboy貼士裡,忘了記上):
  • URL 裡,protocol跟域名不分大小寫。
  • OWASP WebScarab
  • CAL9000 駭客工具,含有各種技巧與script,以javascript撰寫
  • PornZilla
  • Nikto (perl scripts)
  • Burp Suite 類似 WebScarab 的工具


More about Web 安全測試錦囊妙計

arrow
arrow

    elleryq 發表在 痞客邦 留言(0) 人氣()