SQL注入——猜測字段名稱


之前兩篇文章所說的SQL注入手段均是在服務器層面是root權限,而現實的滲透測試過程中,很多都是無權讀取information_schema庫,並且很多拒絕聯合訪問Union和order by語句。遇到這些問題時候,就需要我們去爆破猜測一些數據庫字開發邏輯,對一些列,表,內容進行猜測
 
  • 猜測某個列
猜測abc這個列是否存在,網頁提示:
說明我們所使用的猜測sql語句可以用,剩下的即為猜測過程
很多集成化工具中都有猜測某列的字典文件
在kali中利用find /-name*column*.txt進行查詢
但是在字典文件中有#開頭的行
我們需要將警號開頭的行去除調,並保存到一個新的字典文件
回到burp里面,將我們要測試的列名稱變量進行選取
將剛剛生產的文件加載進來
pis:將這里去掉
接着點擊菜單欄Intruder進行爆破,根據觀察列的長度,從而判斷4643長度的列是服務器存在
 
 
  • 猜測表名
如果我們以及猜出列,基於列名我們可以猜測其表名,'and table.user is null--+ 這里的user列是我們已猜測出來的,table則是我們猜測的表名
測試完之后顯示沒有找到table.user這個表名,但是說明table這個字段是可以進行爆破
#號處理:cat /usr/share/golismero/tools/sqlmap/txt/common-tables.txt | grep -v ^# >table.txt
然后對table字段進行爆破
 
基於這個原則逐級對數據庫進行爆破
 
還有一種猜測其他表名稱的方法
' and (select count(*) from abc)>0--+ 
同樣用Burp爆破方法進行猜測表名
 
 
 
  • 猜測表中的字段:
or表示一真則真,這里注意引號閉合即可
 
還有一種方式,可以進行模糊查詢
%號表示模糊查詢,用%將要查詢的字段包含起來,like語句進行查詢
 
 
  • 猜測密碼:
思路:已經猜測出來賬號,可以進而猜測密碼,猜測密碼時候可以通過密碼的MD5值進行猜測,擦測語句:
' or user='admin' and password= ' MD5
用or表示一真則真,說明后面的user和password都要為真,所以user和password連接部分必須為and
 
 
 
 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM