作者: 甘肃老五
“E创网站系统”是政府站点通用的建站模板系统,几乎成了政府建站首先模板系统,占了相当大的市场份额。最近,E创爆出新漏洞,采用该系统的政府网站将面临者攻击的危险。笔者写这篇文章重在分析漏洞原因,解析攻击利用过程,并给出解决办法。以期采用该系统的网站提高警惕,尽快修复漏洞。
1、漏洞分析
down.asp是E创系统的防盗链文件,其关键代码如图1:
HTTP_REFERER是是header的一部分,当浏览器向web服务器发送请求的时候会带上Referer,告诉服务器该请求是从哪个页面链接过来的,服务器籍此可以获得一些信息用于处理。Request.ServerVariables("HTTP_REFERER")的作用就是服务器获取链接的来源,然后与Request.ServerVariables("SERVER_NAME")获得的服务器名进行比较看看去爱那个8个字符是否相同,从而判断该链接是否来源于本服务器,以确定是否是“盗链”。
由于服务器对于HTTP_REFERER没有进行过滤,因此可以利用Microsoft.XMLHTTP组件伪造Referer,绕过E创网站系统down.asp的防盗链限制,关键代码为:
Dim oXMLHttp,oStream,SourceCode,action,weburl,savefile action=Request("action") weburl=Request("weburl") savefile=Request("savefile") Function E_0Day() Set oXMLHttp = Server.CreateObject("MSXML2.XMLHTTP") With oXMLHttp .Open "Get", weburl, False .setRequestHeader "Referer",mid(weburl,1,InStr(8,weburl,"/")-1) 'Response.Write mid(weburl,1,InStr(8,weburl,"/")-1) .Send End With |
核心代码.setRequestHeader "Referer",mid(weburl,1,InStr(8,weburl,"/")-1)对客户端提交的weburl进行切分构造Referer。最后把这个构造的Referer提交给down.asp文件可以实现下载任意文件。有了核心代码然后以此为基础构造一个提交页面。(图2)
当然攻击者最感兴趣的是Conn.asp文件,因为该文件是数据库连接文件。在该文件中记录了采用的数据库类型(ACCESS或者SQL):对于ACCESS数据库可以看到数据库的路径及其名称,从而可以确定数据库的URL地址然后下载数据库;如果是SQL数据库,则可以看到数据库的连接用户和密码,然后利用类似SQL连接器的工具连接服务器。
2、入侵解析
(1).部署环境
由于提交页面是asp代码,因此需要部署asp运行环境。一般情况下,攻击者会利用IIS部署一个Web站点然后启用“Active Server Pages”扩展即可,当然攻击者也会利用支持asp的空间实施欺骗提交。
(2).站点搜索
在Google、百度等搜索引擎中输入“inurl:E_readnews.asp”进行搜索即可得到使用E创网站系统的网站。当然,还可以在后面加上其它的关键词进行更精确的搜索。笔者在Google中搜索结果有206,000个,将近有80%的是后缀为gov.cn的政府网站,如果加上后缀的网站,政府网站的数量绝对超过85%。(图3)
(3).下载Conn.asp
从搜索结果中复制类似http://www.***.gov.cn/wfqzf/E_ReadNews.asp?NewsID=914的网址,然后将“E_ReadNews.asp?NewsID=914”替换为“down.asp?filename=../conn.asp%20”通提交页面提交即可显示出conn.asp文件的内容。在此,站点的数据库信息一目了然。(图4)
(4).下载数据库
E创有Access和SQL两个版本,以Access数据库为例可以看到Conn.asp文件中有类似
DB = "DataBases/###sqq2008#.mdb"这样的语句,这就是数据库的路径和地址。然后结合网站地址确定数据库的URL地址,通过下载工具就可以将数据库下载下来。需要注意的是该数据库做了防下载措施,在数据名称中加了“#”。不过攻击者通过修改就可以简单突破,用“%23”代替“#”这样数据名称就变为23%23%23%sqq2008%23.mdb就可以下载了。(图5)
(5).破解密码
用数据库工具打开刚才下载的E创数据库,在“E_Admin”下就可以看到管理员名称和密码了,不过密码是MD5加密的。获得该加密密码,攻击者就可以通过类似www.cmd5.com这样的网站进行破解了,如果密码比较弱一般会很快破解出来。当然,有的时候他们也会进行本地暴力破解。(图6)
(6).登录利用
E创的登录后台一般是http://www.*.gov.cn/login.asp,输入用户名、密码及验证码后即可登录后台。该后台主要是用来进行文章的发布和管理的,可利用的地方不多。不过,通过该后台可以发布信息。想一想在政府网站上发布信息会产生怎样的不良影响。前段时间,有黑客攻克某省的地震信息网站发布虚假的地震信息,造成了很大的恐慌。另外,攻击者还可以编辑修改已经发布的信息,并且可以进行挂马。如果真是这样的话,不仅有损政府的形象,而且由于政府网络的流量大访问者众多会城门失火殃及池鱼,造成访问者电脑中马。(图7)
3、防范措施
通常情况下我们的政府网站疏于管理,安全措施不到位很容易被攻击。针对E创下载欺骗漏洞如何防范呢?
(1).数据库防下载。最简单的是为数据库改名,将其后缀改为.asp,当然改完后在conn.asp中也要做相应的修改,不然系统会找不到数据库。另外,还可以利用防数据库下载脚本保护数据库以防被下载。
(2).设置强密码。 E创的默认后台管理员用户名是admin,默认密码为admin888,在笔者的友情检测中发现很多站点的后台密码都是默认的。后台密码一定要复杂,要符合安全性要求。这样就算是攻击者暴库下载得到密码的MD5值也不容易破解,让其知难而退自动放弃。
(3).更改后台路径。改变E创默认的后台登录路径,后台的路径一定要深并且目录不容易被猜到。不过修改后台路径后,login.asp文件要做相应的修改不然找不到ChkLogin.asp无法进行用户验证。
(4).及时升级系统。到某前为止,笔者下载最新的E创Access版本进行测试还是存在该漏洞,权宜之计将down.asp改名,攻击者不知起名也就无法利用了。
总结:作为展示政府形象以及发布信息的平台,政府网站安全性显得尤为重要。希望管理员们做好防范,愿E创网站系统的新漏洞不要伤及政府网站。