一、題目


比較經典的黑客造型
sql注入題一般都是這種登錄界面,開始操作
二、解題
1. 用戶名輸入 1' (1之后加個單引號是為了閉合資料庫后臺陳述句里面的引號,所以在這之后寫sql命令可以實作惡意操作如查表、查列),這是最常用的判斷手段

密碼隨便輸

發現報錯了,那么這里是存在注入的
2. 先試試萬能密碼:

1' or 1=1#
這里說一下mysql中的各種注釋符
# : 單行注釋,直接注釋#之后的內容
-- : 單行注釋,區別是--后要加一個空格符才能實作注釋作用
/**/ : 多行注釋,如
/*
第一行
第二行
第三行
*/
三個符號都有可能出現在sql注入題型中,且皆有可能被過濾

我們看到在輸入萬能密碼之后直接爆了flag,后臺應該是一點過濾操作都沒有
那么萬能密碼的原理在于:
像 1' or 1=1# 這樣的陳述句,在輸入表單并傳入之后因為單引號作用變成了
admin='1' or 1=1#'
即進行admin='1'和1=1的or運算,而1=1恒成立,那么這個運算就肯定為true,顯示登錄成功
三、總結
這題沒有用到聯合查詢還有關鍵字過濾判斷等等,屬于是非常基礎
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/317807.html
標籤:其他
