2011年9月6日 星期二
2011年6月17日 星期五
Blind Sql Injection with Regular Expressions Attack
這是一篇前幾天 Simone 與 Marco 所發表的一篇 Paper ,內容是針對 Blind Sql Injection 攻擊測試提高效率的方法,而他們所提出的方法就是透過正規表達式 Regular Expressions。
簡單說明一下傳統 Sql Injection 和 Blind Sql Injection 的差異
已一個例子為例(dump data) :
傳統 Sql Injection :仰賴網頁回應的錯誤訊息,所有想要知道的欄位內容(帳號密碼、資料庫資訊)都是輸出在網頁上。
Blind Sql Injection:可以不需仰賴網頁回應的錯誤訊息,所以即使網站關閉了錯誤訊息,但網頁仍然有 Sql Injection 的問題,這個時候 Blind Sql Injection 這個方法就派上用場了,不需依賴錯誤訊息,只需藉由網頁的回應來判斷 True & Flase 就可以達到目的。
Blind Sql Injection 有幾種類型:
1.Error-based blind SQL Injection
2.Classical blind SQL Injection
3.Time-based ( Chema Alonso & José Parada Defcon 16 所發表 )
實際上不管是 Sql Injection 還是 Blind Sql Injection 在這些漏洞測試的方法或是進階 Evasion 繞過技巧有太多種了,有興趣的同鞋在 Google 看看,我們先拉回來主題,典型 Blind Sql Injection 所使用語法如下:
[...] >1 and 300 >(select top 1 ascii(substring(name,1,1)) from sysusers) → TRUE
[...] >1 and 0 >(select top 1 ascii(substring(name,1,1)) from sysusers) FALSE
透過正規表達式 Regular Expressions 的方法如下:
index.php?id=1 and 1=(SELECT 1 FROM information_schema.tables WHERE
TABLE_SCHEMA="blind_sqli" AND table_name REGEXP '^[a-n]' LIMIT 0,1)
True
index.php?id=1 and 1=(SELECT 1 FROM information_schema.tables WHERE
TABLE_SCHEMA="blind_sqli" AND table_name REGEXP '^[a-g]' LIMIT 0,1)
False
文章作者做了幾個實驗相關數據如下:
1.取得一組 MD5 Hash 32 位 ( 內容中包含數字跟小寫英文共 16 個字符1234567890abcdef)
在最好的情況下透過 Regular Expressions 和一般 Blind Sql Injection 要花 32 次查詢才能完成。
在最壞的情況下透過 Regular Expressions 需要花 128 次查詢
一般 Blind Sql Injection 要花 512 次查詢才能完成。
2.取得一組密碼長度為 15 位 ( 內容中包含了英文大小寫、數字及符號共 76 個字符abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()-_+=);)
在最好的情況下透過 Regular Expressions 要花 15 次查詢才能完成。
在最壞的情況下透過 Regular Expressions 需要花 94 次查詢
一般 Blind Sql Injection 要花 1140 次查詢才能完成。
文章來源:
Blind Sql Injection with Regular Expressions Attack
PHP example code
新聞事件:
Hackers use blind SQL injection attack to crack Oracle-Sun, MySQL.com
簡單說明一下傳統 Sql Injection 和 Blind Sql Injection 的差異
已一個例子為例(dump data) :
傳統 Sql Injection :仰賴網頁回應的錯誤訊息,所有想要知道的欄位內容(帳號密碼、資料庫資訊)都是輸出在網頁上。
Blind Sql Injection:可以不需仰賴網頁回應的錯誤訊息,所以即使網站關閉了錯誤訊息,但網頁仍然有 Sql Injection 的問題,這個時候 Blind Sql Injection 這個方法就派上用場了,不需依賴錯誤訊息,只需藉由網頁的回應來判斷 True & Flase 就可以達到目的。
Blind Sql Injection 有幾種類型:
1.Error-based blind SQL Injection
2.Classical blind SQL Injection
3.Time-based ( Chema Alonso & José Parada Defcon 16 所發表 )
實際上不管是 Sql Injection 還是 Blind Sql Injection 在這些漏洞測試的方法或是進階 Evasion 繞過技巧有太多種了,有興趣的同鞋在 Google 看看,我們先拉回來主題,典型 Blind Sql Injection 所使用語法如下:
[...] >1 and 300 >(select top 1 ascii(substring(name,1,1)) from sysusers) → TRUE
[...] >1 and 0 >(select top 1 ascii(substring(name,1,1)) from sysusers) FALSE
透過正規表達式 Regular Expressions 的方法如下:
index.php?id=1 and 1=(SELECT 1 FROM information_schema.tables WHERE
TABLE_SCHEMA="blind_sqli" AND table_name REGEXP '^[a-n]' LIMIT 0,1)
True
index.php?id=1 and 1=(SELECT 1 FROM information_schema.tables WHERE
TABLE_SCHEMA="blind_sqli" AND table_name REGEXP '^[a-g]' LIMIT 0,1)
False
文章作者做了幾個實驗相關數據如下:
1.取得一組 MD5 Hash 32 位 ( 內容中包含數字跟小寫英文共 16 個字符1234567890abcdef)
在最好的情況下透過 Regular Expressions 和一般 Blind Sql Injection 要花 32 次查詢才能完成。
在最壞的情況下透過 Regular Expressions 需要花 128 次查詢
一般 Blind Sql Injection 要花 512 次查詢才能完成。
2.取得一組密碼長度為 15 位 ( 內容中包含了英文大小寫、數字及符號共 76 個字符abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()-_+=);)
在最好的情況下透過 Regular Expressions 要花 15 次查詢才能完成。
在最壞的情況下透過 Regular Expressions 需要花 94 次查詢
一般 Blind Sql Injection 要花 1140 次查詢才能完成。
文章來源:
Blind Sql Injection with Regular Expressions Attack
PHP example code
新聞事件:
Hackers use blind SQL injection attack to crack Oracle-Sun, MySQL.com
2011年6月16日 星期四
Windows Server 2003/2008 零時差 ( 0day ) 攻擊
這幾天看到很多人突然又熱絡起來再討論關於 Windows Server 2003 有漏洞可以使用,而且攻擊程式也有公開出來!
關於這個漏洞的描述:基本上他是本地提權類型的漏洞,並不是遠端可以使用的,但他仍然是高風險的問題喔,因為對於一般小黑來說的話,通常透過一些手法得到網站上的後門控制權限 ( 這個資安術語叫做 Webshell ),下一個動作就是要做提權 (提升權限),顧名思義就是要把一般的 user 權限提升為 Administrator 管理者權限,而一般小黑在做提權的時候,通常會花比較多的時間再分析伺服器內安裝了哪些軟體,或是資料庫有沒有漏了關閉一些有風險的設定值等再尋找對應的攻擊程式,但 Win Server 2003 的攻擊程式出現後,實際上他就幫助了小黑更快速的得到管理者權限!
目前網路上也隨手可得攻擊測試工具
下圖為本機環境下測試成功畫面 ( Win Server 2003 11.06.11 全更新的情況下 )
以下為路人同鞋的對話( 僅供參考,此言論與本站無關 ):
a: 我都已經用了1年多了
b: 2008 也可以
c: 又少一個工具了 XD
小學堂要提醒 IT 同鞋們,家中的 Win Server 2003 / 2008 還沒更新要趕快更新喔!
微軟已於6月13日出了更新了在這裡
關於這個漏洞的描述:基本上他是本地提權類型的漏洞,並不是遠端可以使用的,但他仍然是高風險的問題喔,因為對於一般小黑來說的話,通常透過一些手法得到網站上的後門控制權限 ( 這個資安術語叫做 Webshell ),下一個動作就是要做提權 (提升權限),顧名思義就是要把一般的 user 權限提升為 Administrator 管理者權限,而一般小黑在做提權的時候,通常會花比較多的時間再分析伺服器內安裝了哪些軟體,或是資料庫有沒有漏了關閉一些有風險的設定值等再尋找對應的攻擊程式,但 Win Server 2003 的攻擊程式出現後,實際上他就幫助了小黑更快速的得到管理者權限!
目前網路上也隨手可得攻擊測試工具
下圖為本機環境下測試成功畫面 ( Win Server 2003 11.06.11 全更新的情況下 )
以下為路人同鞋的對話( 僅供參考,此言論與本站無關 ):
a: 我都已經用了1年多了
b: 2008 也可以
c: 又少一個工具了 XD
小學堂要提醒 IT 同鞋們,家中的 Win Server 2003 / 2008 還沒更新要趕快更新喔!
微軟已於6月13日出了更新了在這裡
訂閱:
文章 (Atom)




