1,发现漏洞

影响版本:
标准版 SQL版
企业版 SQL版
学校版 SQL版
政府版 SQL版
全功能版 SQL版
免费access 版
所有版本(包括免费版、商业SQL版及Access版)
不被影响的版本:2005动易ASSESS版
漏洞文件:Admin目录下 Admin_ChkPurview.asp,Admin_Login.asp,Admin_RootClass_Menu.asp
User 目录下 User_Message.asp
等级:严重
描述:
此漏洞影响全部SQL版,如果用SA连接数据库黑客可以拿到系统管理员权限。如果用普通用户连接最严重情况,可以备份脚本木马。一般情况可能改管理员登陆密码,从而达到黑客登陆动易后台。控制整个动易系统!
ACCESS版可以得到管理员md5密码!
主要问题在于 User_Message.asp
http://77169.org/User/User_Message.asp?Action=Del&ManageType=Inbox&MessageID=90;
MessageID 没有严格过滤,有注入漏洞。只过滤了 单引号, 这就能挡住聪明的黑客吗?
我们来看一下,User_Message.asp的源代码、
————————————————————————————————————
<!--#include file="User_CommonCode.asp"-->
<%
Call PE_Execute("PE_AdminCommon", "User_Message")
%>
——————————————————————————————————————
动易系统是不开放源代码的,User_Message.asp 源代码的意思就是调用 PE_AdminCommon.dll 中的 User_Message 函数。
有人可能要问了这样的漏洞怎么发现的呢?
像这样的文件 只能用分支测试法 给这个文件用到的全部变量 都测试一遍。这是很耗时的测试方法。
2,分析漏洞
源程序是不开放的,所以源程序没什么好分析的。
现在我们来这漏洞入侵动易2005 sp1系统。
首先分两个版来说
1,SQL版,
(1,发现注入点
User_Message.asp 文件中的 MessageID 没有严格过滤。
测试,加 单引号,
正常返回。如图一

加 ; ,加 --
都显示出错。
如图二:

看提示 就明白有注入点了,加单引号没用,应当是过滤了引号。没关系过滤了单引号 阻挡不了我们入侵的步伐。
[1] [2] 下一页