CTF之SQL注入總結

第一題原理:輸入一個小數,利用intval()函數返回整數的結果,使得if($_GET[id]==1024)判斷不成立,執行else語句
這題我們就可以輸入1024.1,intval()返回的結果就是1024,而$_GET[id]獲取到的是1024.1,恰好和1024不相等
在這裏插入圖片描述

第二題原理:看!strcasecmp($pass, $query[pw])和$pass = md5($_POST[pass]),if語句的第二個條件滿足的條件是查詢的結果和md5加密後的pass相同,推出我們輸入的時候應該要構造一個md5的輸入
user的playload:’ and 1=0 union select ‘c4ca4238a0b923820dcc509a6f75849b’#
pass:1
這道題我覺得難在注入要查詢的是一個md5的值,而不是通常的把密碼無效,查詢到一個指定的用戶名就能獲得flag
在這裏插入圖片描述
第三題原理:看獲得flag的條件,只要查詢出來的user=admin就行了
所以playload構造成admin’)#
單引號和右括號是和語句前面的單引號和左括號形成閉合
#是註釋掉後面的語句,因爲題目並不需要驗證pw的正確性就可以取得flag
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章