Web 漏洞之接口调试挂马

1. 题目要求

1.获取 PHP 的版本号作为 flag 值提交;(例如:5.2.14)

2.获取 MySQL 数据库的版本号作为 flag 值提交;(例如:5.0.22)

3.获取系统的内核版本号作为 flag 值提交;(例如:2.6.18)

4.获取网站后台管理员 admin 用户的密码作为 flag 值提交;

5.找到/root 目录中的 txt 文件,将文件内容作为 flag 值提交。

2. 环境准备

  1. Kali Linux 虚拟环境一台
  2. Postman 接口调试工具

3. 前期准备

第 1 步:进入 kali 渗透机,使用命令 find / -name CVE-2016-4010-*,并切换到 PoC 代码的路径下

image.png

(注意本例中的 PoC 代码路径和实际目录有所出入)

第 2 步:使用命令 php exploit.php 生成 payload 代码

image.png

复制以上生成的代码备用

4. 开始复现

第 3 步:进入 Windows 靶机系统桌面,打开位于桌面上的 Chrome 浏览器,输入靶机的 IP 地址,访问靶机的站点首页

image.png

点击页面上的任意商品,进入商品的详情页面,如下

image.png

点击上方用红框框住的按钮“Add to Cart”,将商品加入到购物车,然后点击网页页面右上角的购物车按钮

image.png

在弹出的菜单中选择 Go to Checkout 进入购物车结算

image.png

在接下来的页面中填充一些值到页面中,注意邮箱地址填写 xxx@xxx.com,其他地方填写任意的信息即可

image.png

在点击 Next 按钮之前,按 F12 打开调试控制台中的 Firebug 插件

image.png

然后点击 Next,观察插件中的 POST 字段的报文信息,其中结尾为 shipping-information 为关键内容,复制 shipping-information 前面的字符串

第 4 步:打开 Windows 桌面下的 Postman 接口调试工具

image.png

进入软件的页面窗口后点击导航栏中的“New”按钮

image.png

然后在弹出的窗口中选择 Reuest 项目

image.png

由上至下依次,完成下面的操作

Request name --> magento_exp

Create Folde --> exp

image.png

在创建目录成功后点击右边的对勾image.png

最后,点击 Save to exp

image.png

第 5 步:复制前面在 Firebug 中获取的 URL 地址,并将 shipping-information 修改为 set-payment-information,其最终的结果如下所示

image.png

将 URL 复制到 Postman 的提交栏中,并点击 URL 地址的前面的菜单,修改提交方式为 POST 方式如下所示

image.png

然后切换到 Body 标签中,修改数据包为 raw 源码形式

image.png

选择 Text 按钮,修改文本格式为 JSON

image.png

将之前生成的 payload 代码复制到下面的代码框中

image.png

最后点击 Postman 工具的 Send 按钮。观察回复的数据包中是否和下面的截图一致,一致则说明木马植入成功

image.png

接下来访问 http://靶机 IP/pub/command.php?cmd=ifconfig

image.png

第 6 步:按照要求获取目标的 PHP 版本号,回到 kali 渗透机器,使用命令 nmap -sV -p 80 靶机 IP

image.png

PHP 的版本号为 7.0.25

Flag1: 7.0.25

第 7 步:回到 Chrome 浏览器中执行命令 mysql --help 查看 mysql 的版本号信息

image.png

MySQL 的版本号为 5.7.31

Flag2: 5.7.31

第 8 步:继续使用网站后门执行命令 uname -mrs 查看系统内核的版本号信息

image.png

系统内核的的版本号为 3.10.0

Flag3: 3.10.0

第 9 步:查看文件../htdocs/app/etc/env.php 下的文件

http://192.168.36.140/pub/command.php?cmd=cat+../../htdocs/app/etc/env.php

image.png

找到数据库的连接用户名和密码;

回到 kali 渗透机使用命令 mysql -uroot -h192.168.36.140 -p 输入上面的密码

image.png

使用命令查询数据库中的用户密码

image.png

Flag4: gzhxpy20@)..

查看 root 目录下的文件

image.png

Flag5:nkuaeryvaerygf

  • 安全

    安全永远都不是一个小问题。

    203 引用 • 818 回帖
  • Web
    119 引用 • 433 回帖 • 8 关注

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...