當前位置:首頁 » 編程語言 » sql注入or

sql注入or

發布時間: 2025-06-03 05:57:37

sql注入 當or、and等常用字元被過濾(less-25)

當常用字元被注釋無法使用時,通常採取以下方法(可自行搜索sql注入繞開過濾等):

如:Or、OR、oR等

如:通過hex、urlencode、url等編碼
舉例:如果or被過濾時,我們可以採用url編碼(其相當於把ascii編碼的0x給替換成%,比如o的ascii為0x6f,url編碼就是%6f),這個時候我們可以試試%6fr,即把o換成url編碼,也可以全換,也可以大小寫的換,如果沒被過濾就成功了,(如果%被過濾了的話…)
【註:這個可以積極的去使用,比如測試時and被注釋,使用&&替換也失敗,這個時候不妨試試%26%26(&的url編碼)】

如: /* */ (這個不止可以應對字母被注釋)
舉例:某個過濾器能夠過濾的字元如下——「select 」、」from 」、」limit 」等,注意這些字元最後面都有一個空格,這個時候我們就能通過內聯注釋來繞過這個過濾器,如:

【註:這個注釋甚至可以穿插在關鍵字當中,例如被過濾了or,我們可以把 order by 改成 o/**/rder by ,參考的資料上是這么說,但本人試了沒成功,不知是否依舊實用】

比如or被過濾了,我們可以往裡面加or,即注入:oorr,這個時候裡面的or就被刪去了,剩下的組成新字元,也就是or,是個很好用的繞過方法,像這種類似的還有很多,需要我們去思考

如:&&、||
舉例:

如盲注時經常用到比較,這時候要是比較符號被注釋了不能用平常的方法了,所以需要用某些函數如 greatest() 【 greatest(n1,n2,n3,...) 函數返回輸入參數(n1,n2,n3,...)的最大值】、least()等,比如語句: select * from users where id=1 and ascii(substr(database(),0,1))>64 就可以替換成 select * from users where id=1 and greatest(ascii(substr(database(),0,1)),64)=64
【註:當or被注釋時,像order by這種含有相關字元的語句也同樣無法使用,這個時候如果改變大小寫也無用時,可以使用上述的內聯注釋 /**/ ,或者用別的編碼形式,如果不行的話,那就只能放棄使用order by,可以嘗試使用group by語句等】

熱點內容
java返回this 發布:2025-10-20 08:28:16 瀏覽:593
製作腳本網站 發布:2025-10-20 08:17:34 瀏覽:888
python中的init方法 發布:2025-10-20 08:17:33 瀏覽:582
圖案密碼什麼意思 發布:2025-10-20 08:16:56 瀏覽:765
怎麼清理微信視頻緩存 發布:2025-10-20 08:12:37 瀏覽:684
c語言編譯器怎麼看執行過程 發布:2025-10-20 08:00:32 瀏覽:1013
郵箱如何填寫發信伺服器 發布:2025-10-20 07:45:27 瀏覽:255
shell腳本入門案例 發布:2025-10-20 07:44:45 瀏覽:114
怎麼上傳照片瀏覽上傳 發布:2025-10-20 07:44:03 瀏覽:806
python股票數據獲取 發布:2025-10-20 07:39:44 瀏覽:713