注入技巧 (登陸一下好嗎)

2021-09-20 18:37:06 字數 1515 閱讀 1429

通過這道題提示下寄幾:不是所有有關sql語句的注入都要報庫名錶名欄位名!!!

首先開啟這道題,是倆輸入框,輸入1和1有回顯,輸入union等字元會不顯示,想著應該是回顯注入

此時應自動腦補sql語句:select * from user where username = 』 』 and password = 』 '(後經驗證是這乙個)

或者 select * from user where username = " " and password = " "
這時候想不開的我就開始想著如何單引號or各種爆庫名錶段字段…發現幾乎想用的都被過濾了只剩下and,』,",=這些。。臣妾做不到用這些個構造sql語句。。後來翻看了wp後豁然開腦洞,以下介紹三種方法

1.通過構造0 = 0把where後面的語句構造出1 and 1的形式

具體做法:在兩個提交框提交 aaa』=『0 或 aaa』=』 (aaa可為任何username裡沒有的字元甚至為空)

這樣做之後sql查詢語句就變成 select * from user where username = 『aaa』=『0』 and password = 『aaa』='0

或者 select * from user where username = 'aaa'='' and password ='aaa'=''
根據等號從前往後看的原則 username='aaa』顯然是不存在的,因此返回0(也可以說是空),看下乙個等號就是 0=0(空=空)

,0=0(空=空)為1。password同理,所以語句變為select * from user where 1 and 1,爆出全部資料。

2.通過構造username=0爆出全部資料

這裡我們要知道,除了開頭是非零數的字串,其他字串化成整型都為0,字串=0 為真。

當所有username裡沒有開頭是非零數的字串,username=0相當於查全部資料.

所以我們構造 username=aaa』+0;%00

構成的sql語句為 select * from user where username = 『aaa』+0;%00 』 and password = 』 』

因為–+,#,/**/等注釋符都被過濾了,我們用%00,是乙個截斷符,相當於把後面的語句注釋掉

username=『aaa』+0 相當於 username=0,得到答案

(當構造username=a』+0+『a&password=a』+0+'a時,只查詢出一條語句,說明password裡有開頭是非零數的字串)

3.通過構造異或語句(這個開腦洞)

先給出payload:username=&password=^'aaa

構成的語句是 select * from user where username = 』 』 and password = '^『aaa』

其中反斜槓把後面的單引號轉義掉了(相當於乙個普通的字元),所以』 』 and password = '就是一串字串,'aaa』也是一串字串,字串都為0,0⊕0=0,又構造出username=0了!!!!

實驗吧登陸一下好嗎 WP

登陸一下好嗎?username 1 0 password 1 0 或者 username what password what 或者 username admin password admin 得到ctf 好吧,其實我提供的只是萬能密碼嘗試而已,真正的writeup在這裡 by wonderkun,...

實驗吧登陸一下好嗎 WP

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!登陸一下好嗎?username 1 0 password 1 0 或者 username what password what 或者 username admin password admin 得到ctf 好吧,其實我提供的只是萬能密碼嘗試而已,真...

登陸一下好麼?

這個題過濾了絕大多數東西,然而留下了最關鍵的單引號。1 雙等號繞過。假設sql語句如下 select from user where username 使用者名稱 and password 密碼 現在我們知道單引號和等號沒有被過濾 這個題目是只過濾指定字元,測試一下就知道哪些被過濾了 那麼可以用一下...