SQL Injection問題-偵測滲透成功的方法

SQL Injection 也存在很久了, 通常要發生大規模爆發, 一定是有新的弱點或新的工具產出. 最近在找相關資料時, 發現還蠻有趣(應該說蠻恐怖的)一個資料: http://huaidan.org/archives/2287.html

其中的第2點: Time-Based Blind SQL Injection using heavy queries: A practical approach for MS SQL Server, MS Access, Oracle and MySQL databases and Marathon Tool

這個讓我想起來, 在我還在唸書的時候, 有修過一門課, 叫做實驗設計, 其實和這個有一些關係, 在分析變因時, 會用許多測試的手法來反覆驗證該變因或是該因素是否對該實驗結果有效這件事. 也和 QC 品質測試有關係, QC 在做黑箱測試時, 也是所謂的 blind test 的方式, 來找出是否有什麼系統上的缺陷和瑕疵, 其實這些方法, 應用在 SQL Injection 上的測試, 也是一樣的.

我們可以看到該文章後面提到的許多有趣的方法來做這件事. 尤其是一個有趣的技術, 就是直接餵入”費時”查詢來偵測 http response 的時間, 來看看是否成滲透成功, 一般說來, 判定滲透是否成功, 往往要由 http response 的結果來看, 其實是不太容易自動化的, 但若是使用 http resopnse 時間來做這件事, 我們來想想背後的目的, 就是 “自動化” 的這件事.

其實要真的試看看漏洞, 若是需要人來看, 往往能找的量就少, 不過若是能利用 http response time 來偵測判定, 能夠變成自動化的話, 效率就高很多, 再利用多方工具配合下, 其實….

能做的就相當多了….

真的是一個很不錯的偵測滲透方式, 給大家參考.

[2008/12/29 18:11]
繼續閱讀:
http://www.wretch.cc/blog/Domynews/9731368

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *