Apache-2.2

MySQL 注入攻擊?隨機 URL 導致錯誤

  • September 25, 2013

幾個月前,我們剛剛開始在 Rackspace 上執行我們自己的 Web 伺服器(它們很棒)。我使用 NewRelic(也很酷)來監控伺服器使用情況,並且收到錯誤警報,在我看來是注入攻擊?想知道是否有人可以就如何阻止這些努力並擺脫錯誤和討厭的通知提供更多見解或建議。

事實上,我們知道這些不是我們的網站會在其上進行的呼叫或請求。我已經開始進入訪問日誌並阻止 ip 發出請求,但他們稍後會以不同的方式返回。

這是一個範例“MySQL 錯誤”:

http://www.ourdomain.com/item.php?fetchitem=46’+和+ 999999.9)+聯盟+ ALL + SELECT + 0x393133353134353632312e39,0x393133353134353632322e39,0x393133353134353632332e39,0x393133353134353632342e39,0x393133353134353632352e39,0x393133353134353632362e39,0x393133353134353632372e39,0x393133353134353632382e39,0x393133353134353632392e39,0x39313335313435363231302e39,0x39313335313435363231312e39,0x39313335313435363231322e39,0x39313335313435363231332e39,0x39313335313435363231342e39,0x39313335313435363231352e39,0x39313335313435363231362e39,0x39313335313435363231372e39,0x39313335313435363231382e39,0x39313335313435363231392e39 ,0x39313335313435363232302e39,0x39313335313435363232312e39,0x39313335313435363232322e39,0x39313335313435363232332e39,0x39313335313435363232342e39,0x39313335313435363232352e39,0x39313335313435363232362e39,0x39313335313435363232372e39,0x39313335313435363232382e39,0x39313335313435363232392e39+和+‘1’=‘1

該網址應該只是 www(dot)ourdomain(dot)com/item.php?fetchitem=46

其他:

http://www.ourdomain.com/item.php?fetchitem=39’+and(%2f**%2fsElEcT+1+%2f**%2ffRoM(%2f**%2fsElEcT+count(),%2f**%2fcOnCaT((%2f**%2fsElEcT(%2f %2fsElEcT(%2f*%2fsElEcT+%2f**%2fcOnCaT(char(33,126,33),count(t.%2f**%2ftAbLe_nAmE),char(33,126,33))+%2f**%2ffRoM +information_schema.%2f**%2fsChEmAtA+as+d+join+information_schema.%2f**%2ftAbLeS+as+t+on+t.%2f**%2ftAbLe_sChEmA+=+d.%2f**%2fsChEmA_NaMe+ join+information_schema.%2f**%2fcOlUmNs+as+c+on+c.%2f**%2ftAbLe_sChEmA+=+d.%2f**%2fsChEmA_NaMe+and+c.%2f**%2ftAbLe_nAmE+=+t. %2f**%2ftAbLe_nAmE+%2f**%2fwHeRe+not+c.%2f**%2ftAbLe_sChEmA+in(0x696e666f726d6174696f6e5f736368656d61,0x6d7973716c)+and+d.%2f**%2fsChEmA_NaMe+=+%2fsChEmA_NaMe+=+%2AtA )+and+c.%2f**%2fcOlUmN_NaMe+like+0x25656d61696c6164647265737325))+%2f**%2ffRoM+information_schema.%2f**%2ftAbLeS+%2f**%2flImIt+0,1),floor(rand( 0)2))x+%2f*%2ffRoM+information_schema。%2f**%2ftAbLeS+%2f**%2fgRoUp%2f**%2fbY+x)a)+和+‘1’=‘1

有人建議在 iptables 中限制埠 80,但我擔心會阻止潛在的真實使用者。

感謝所有的想法和建議!謝謝!

對,就是那樣。

我建議使用ModSecurity檢測和阻止這些攻擊。

來自 ModSecurity CRS(核心規則集)的 SQL 注入檢測範例規則:

https://raw.github.com/SpiderLabs/owasp-modsecurity-crs/master/base_rules/modsecurity_crs_41_sql_injection_attacks.conf

您可以清楚地看到包含關鍵字“select”、“union”、“all”等的規則

是的,這是典型的 SQL 注入攻擊。您唯一真正的長期防禦是保護應用程序,儘管您可以根據需要禁止 IP,並且有各種工具可以嘗試自動執行此操作。

最終,除非它成為 DOS 攻擊,否則如果您的站點是防注入的,它們應該是相對無害的。不過,事情的那一面更像是 StackOverflow。

引用自:https://serverfault.com/questions/541401