摘要:
ASP漏洞:利用系统表注入SQLServer数据库;绕过程序限制继续注入;有些人会过滤Select、Update、Delete这些关键字,但偏偏忘记区分大小写;SQL注入漏洞可谓是“千里之堤,溃于蚁穴”,这种漏洞在网上极为普遍。关键字:
ASP漏洞 正文:
验小结
1.有些人会过滤Select、Update、Delete这些关键字,但偏偏忘记区分大小写,所以大家可以用selecT这样尝试一下。
2.在猜不到字段名时,不妨看看网站上的登录表单,一般为了方便起见,字段名都与表单的输入框取相同的名字。
3.特别注意:地址栏的+号传入程序后解释为空格,%2B解释为+号,%25解释为%号,具体可以参考URLEncode的相关介绍。
4.用Get方法注入时,IIS会记录你所有的提交字符串,对Post方法做则不记录,所以能用Post的网址尽量不用Get。
5.猜解Access时只能用Ascii逐字解码法,SQLServer也可以用这种方法,只需要两者之间的区别即可,但是如果能用SQLServer的报错信息把值暴露出来,那效率和准确率会有极大的提高。
SQL注入漏洞可谓是“千里之堤,溃于蚁穴”,这种漏洞在网上极为普遍,通常是由于程序员对注入不了解,或者程序过滤不严格,或者某个参数忘记检查导致。在这里,我给大家一个函数,代替ASP中的Request函数,可以对一切的SQL注入Say NO,函数如下:
Function SafeRequest(ParaName,ParaType)
--- 传入参数 ---
ParaName:参数名称-字符型
ParaType:参数类型-数字型(1表示以上参数是数字,0表示以上参数为字符)
Dim ParaValue
ParaValue=Request(ParaName)
If ParaType=1 then
If not isNumeric(ParaValue) then
Response.write "参数" & ParaName & "必须为数字型!"
Response.end
End if
Else
ParaValue=replace(ParaValue,"","")
End if
SafeRequest=ParaValue
End function
附录:
1. iis3/pws的漏洞
Win95+pws上运行ASP程序,只需在浏览器地址栏内多加一个小数点ASP程序就会被下载下来。
2. iis4的漏洞
iis4一个广为人知的漏洞是:$DATA,就是ASP的URL后多加这几个字符后,代码也可以被看到,使用IE的view source就能看到ASP代码。Win98+PWS4没有这个问题。
解决这个问题的办法有几种:一是将目录设置为不可读(ASP仍能执行),这样html文件就不能放在这个目录下,否则html不能浏览;二是安装微软提供的补丁程序;三是在服务器上安装ie4.01sp1。
3. 支持ASP的免费主页面临的问题
ASP1.0的例子里有一个文件用来查看ASP源代码,/ASPSamp/Samples/code.asp。如果有人把这个程序上传到网站上去了,他就可以查看别人的程序了。
既然ASP程序可以被人得到,别人就能轻而易举地知道你的数据库放在何处,网站的ACCESS数据库可能被人下载。
4.来自filesystemobject的威胁
iis4的ASP的文件操作可以通过file system
object实现,包括文本文件的读写、目录操作、文件的拷贝改名删除等。利用filesystemobjet可以篡改下载FAT分区上的任何文件,即使是ntfs,如果权限没有设定好的话,同样也能破坏。网络管理员应该将web目录建在ntfs分区上,非web目录不要使用完全控制,而应该是网络管理员才可以完全控制。
[1][2]