5、输入标准的HTML语句或者javascript语句会改变输出结果
问题描述:
在输入框中打入标准的HTML语句会得到什么相的结果呢?
比如一个留言本,我们留言内容中打入:你好!
如果你的ASP程序中没有屏蔽html语句,那么就会改变"你好"字体的大小。在留言本中改变字体大小和贴图有时并不是什么坏事,反而可以使留言本生动。但是如果在输入框中写个 javascript 的死循环,比如:特大新闻
那么其他查看该留言的客人只要移动鼠标到"特大新闻",上就会使用户的浏览器因死循环而死掉。
解决方法和建议:
编写类似程序时应该做好对此类操作的防范,譬如可以写一段程序判断客户端的输入,并屏蔽掉所有的 HTML、javascript语句。
6、ASP程序密码验证漏洞
漏洞描述:
很多网站把密码放到数据库中,在登陆验证中用以下sql,(以asp为例)
sql="select * from user where username='"&username&"'and pass='"& pass &'"
此时,您只要根据sql构造一个特殊的用户名和密码,如:ben' or '1'='1就可以进入本来你没有特权的页面。再来看看上面那个语句吧: sql="select * from user where username='"&username&"'and pass='"& pass&'"
这样,程序将会变成这样: sql="select*from username where username="&ben'or'1'=1&"and pass="&pass&"or 是一个逻辑运算符,作用是在判断两个条件的时候,只要其中一个条件成立,那么等式将会成立.而在语言中,是以1来代表真的(成立).那么在这行语句中,原语句的"and"验证将不再继续,而因为"1=1"和"or"令语句返回为真值。
另外我们也可以构造以下的用户名:
username='aa' or username'aa'
pass='aa' or pass'aa'
相应的在浏览器端的用户名框内写入:aa' or username'aa 口令框内写入:aa' or pass'aa,注意这两个字符串两头是没有'的。这样就可以成功的骗过系统而进入。后一种方法理论虽然如此,但要实践是非常困难的,下面两个条件都必须具备。
1. 你首先要能够准确的知道系统在表中是用哪两个字段存储用户名和口令的,只有这样你才能准确的构造出这个进攻性的字符串。实际上这是很难猜中的。
2.系统对你输入的字符串不进行有效性检查。
问题解决和建议:
对输入的内容验证和"'"号的处理。
7、IIS4或者IIS5中安装有INDEX SERVER服务会漏洞ASP源程序
问题描述:
在运行IIS4或者IIS5的Index Server,输入特殊的字符格式可以看到ASP源程序或者其它页面的程序。甚至以及添打了最近关于参看源代码的补丁程序的系统,或者没有.htw文件的系统,一样存在该问题。获得asp程序,甚至global.asa文件的源代码,无疑对系统是一个非常重大的安全隐患。往往这些代码中包含了用户密码和ID,以及数据库的源路径和名称等等。这对于攻击者收集系统信息,进行下一步的入侵都是非常重要的。
通过构建下面的特殊程序可以参看该程序源代码:
http://202.116.26.38/null.htw?CiWebHitsFile=/default.asp&CiRestriction=none&CiHiliteType=Full
这样只是返回一些html格式的文件代码,但是当你添加%20到CiWebHitsFile的参数后面,如下:
http://someurl/null.htw?CiWebHitsFile=/default.asp%20&CiRestriction=none&CiHiliteType=Full
这将获得该程序的源代码。
(注意:/default.asp是以web的根开始计算。如某站点的http:///welcome/welcome.asp那么对应就是:
http://someurl/null.htw?CiWebHitsFile=/welcome/welcome.asp%20&CiRestriction=none&CiHiliteType=Full)
由于'null.htw'文件并非真正的系统映射文件,所以只是一个储存在系统内存中的虚拟文件。哪怕你已经从你的系统中删除了所有的真实的.htw文件,但是由于对null.htw文件的请求默认是由webhits.dll来处理。所以,IIS仍然收到该漏洞的威胁。
问题解决或者建议:
如果该webhits提供的功能是系统必须的,请下载相应的补丁程序。如果没必要,请用IIS的MMC管理工具简单移除.htw的映象文件。
补丁程序如下:
Index Server 2.0:
Intel:http://www.microsoft.com/downloads/release.asp?ReleaseID=17727
Alpha:http://www.microsoft.com/downloads/release.asp?ReleaseID=17728
Indexing Services for Windows 2000:
Intel:http://www.microsoft.com/downloads/release.asp?ReleaseID=17726
8、绕过验证直接进入ASP页面
漏洞描述:
如果用户知道了一个ASP页面的路径和文件名,而这个文件又是要经过验证才能进去的,但是用户直接输入这个ASP页面的文件名,就有可能通过绕过验证.比如:我在一些网站上这样试过:首先关闭所有的浏览器,窗口,输入:http://someurl/system_search.asp?page=1
就样就看到了只能系统员才能看到的页面。当然有些人为了防止这种情况也会在system_search.asp的开头加个判断,比如:
判断session("system_name"),如果不为空时就能进入,这样上面的url请求就不能直接进入管理员页面了。但是这种方法也有一个漏洞,如果攻击者先用一个合法的帐号,或者在本机上生成一个session,如session("system_name")="admi",那因为session("system_name")不为空,这样也能直接进入绕过密码,直接进入管理员页面。
解决方法:在需要验证的ASP页面开头处进行相应的处理。比如:可跟踪上一个页面的文件名,只有从上一页面转进来的会话才能读取这个页面。
9、IIS4.0/5.0特殊数据格式的URL请求远程DOS攻击
漏洞描述:当在安装有有IIS4.0或者IIS5.0的web服务上,请求一个具有特殊数据格式的URL,会拖慢受攻击web服务器的响应速度,或许会使其暂时停止响应。
]受影响的版本:
MicrosoftInternetInformationServer4.0
MicrosoftInternetInformationServer5.0
漏洞测试程序如下:http://202.96.168.51/download/exploits/iisdos.exe
源代码如下:http://202.96.168.51/download/exploits/iisdos.zip
测试程序:只要打入:iisdos就能攻击对方web服务器
问题解决:
InternetInformationServer4.0:
http://www.microsoft.com/Downloads/Release.asp?ReleaseID=20906
InternetInformationServer5.0:
http://www.microsoft.com/Downloads/Release.asp?ReleaseID=20904
更多的信息:
http://www.microsoft.com/technet/security/bulletin/ms00-030.asp
Microsoft安全公告MS00-021:
http://www.microsoft.com/technet/security/bulletin/fq00-030.asp
相关连接:http://www.ussrback.com
(未结束)