駭客工具sqlmap直接繞過防火牆,伺服器將被攻破!!
2022-03-20由 安界 發表于 林業
如何繞過防火牆
摘要: SQLMap相信大家都不陌生,這篇文章將會告訴大家如何使用 SQLMap 的一些功能來繞過 WAF / IDS,快來一起學習吧!
Web 應用防火牆已經成為眾多企業的安全解決方案,然而還是有許多公司僅僅依靠防火牆來進行保護。不幸的是,大多數(不是所有)的防火牆都可以被繞過,在這片文章中,我將會演示如何使用 SQLMap 的一些功能來繞過 WAF / IDS。
原作者為 SQLMap 編寫了一些script,可以在 subversion 儲存庫的最新開發版本中找到:svn checkout。
篡改script的重點在於是使用特殊方法修改請求來避免 WAF 的檢測,在某些情況下,可能需要將若干個script組合起來一起繞過 WAF。
我將要演示的第一個是和
space2morehash.py
,它們可以與 MySQL 一起使用(依然沒有在MSSQL上進行嘗試)。這些將所有空格替換為使用隨機文字來截斷註釋,擴充套件版本(
space2morehash.py
)還將在某些函式名稱和括號之間添加註釋。
要開始使用篡改script,需先使用 –tamper 引數,後面再加上其名稱。在本文的示例中,我將使用以下命令:
sqlmap -u http://192。168。0。107/test。php?id=1 -v 3 ——dbms “MySQL” ——technique U -p id ——batch ——tamper “space2morehash。py”
如圖1所示,使用了
%23randomText%0A
來替換注入中的空格,當然這是經過
URL
編碼的。部分函式如:
CHAR(), USER(), CONCAT()
都變為
FUNCTION%23randomText%0A()
,因為它們並沒有出現在
IGNORE_SPACE_AFFECTED_KEYWORDS
的黑名單中。這是因為
MySQL
的
函式名稱的解析
以及它是如何處理函式的呼叫和識別符號的。
另外兩個替換空格的是
space2mssqlblank.py
和
space2mysqlblank.py
。
MySQL
允許字元
09, 0A-0D, A0
被用作空格,而
MSSQL
允許的字元範圍要更加的寬,包括從
01-1F
。
接下來我們有一些亂碼的: 和 。這些對於繞過不同的關鍵字過濾非常有用,例如,當檢測到
table_name
且無法繞過它時。
如果 Web 應用的
URL
由於某些原因解碼了請求,則
chardoubleencode.py
就可以派上用場。
此外,如果有的應用是用
ASP / ASP.NET
編寫的話,則 和 就可以用於隱藏真正有效的 payload。
ASP
的一個有趣特性就是可以在字元之間新增任意數量的百分號。例如,
AND 1=%%%%%%%%1
就十分有效!
“總之,我只是展示了一部分的scri[t,我強烈建議你們在使用前要對其進行測試,因為每個script可以在不同的情況下使用。