攻击路线图

外网区

任务一:引流APK渗透

步骤1:二维码分析

下载引流APK

解析二维码,发现flag和apk下载地址

步骤2:apk分析

下载apk并进行分析,使用 jadx 工具中全局搜索 flag{ 关键字

从搜索结果中,找到flag,双击即可复制,里面有两个flag,但是只有一个flag是正确的。

步骤3:通过apk发现目标其他网站

因为apk下载地址是:

http://172.16.20.200/%E6%B8%B8%E6%88%8F.apk

因此全局搜172.16.搜其他目标其他地址

02

任务二:博彩网站主站渗透

访问从apk中发现的网站http://172.16.10.102,发现是博彩网站主站

步骤4:文件上传获取目标服务器权限

访问系统之后,点击右上角的注册,根据要求填写信息,注册一个普通用户

注册成功之后在上面填入用户名和密码,登录系统

点击会员中心

在基本资料处有一个文件上传

在【会员中心】-【基本资料】处,点击【选择文件】,随意选择任意一张图片,尝试修改修改后缀为ini,发现可以成功上传

步骤5:绕过WAF

上传 .user.ini 文件,尝试对安全狗进行绕过

再次尝试上传木马文件,但是后缀是png的,文件名要与之前上传的.user.ini里auto_prepend_file对应的值一致,即也要是2.png

发现成功上传木马文件,点击测试连接,提示连接成功

点击添加,双击添加的记录即可进入shell

步骤6:查找flag

主机上共有两个flag查看flag.txt文件

查看数据库配置文件,在

C:/phpstudy_pro/WWW/include/db.php

03

任务三:客服服务平台渗透

步骤7:xss打cookie

在博彩网站主站点击【在线客服】

新建项目并查看项目代码,姓名、email以及电话信息任意输入,在留言部分输入以下信息,在xss平台中已经获取到cookie

步骤8:后台任意文件读取

开启burpsuite抓包,访问在线客服系统后台

1
http://172.16.15.200:48513/admin/

将刚刚获取到的cookie进行替换

之后点击左上角的Forward,并关闭burpsuite抓包,替换cookie之后成功进入客服系统后台,在后台首页存在flag

客服后台存在任意文件读取,需要替换获取到的cookie,成功读取到配置文件

步骤9:目标端口、目录扫描

发现目标开放888端口

尝试使用刚刚获取到的用户名密码登录,成功登录系统

步骤10:获取目标shell

点击【SQL】,将以下语句写入目标,尝试通过写日志的方式写入shell,访问写入的shell

使用蚁剑连接shell,点击【测试连接】,连接成功

发现无法执行命令

步骤11:绕过disable_function

通过插件绕过disable_functions

双击进入目标,右键打开终端,输入whoami,成功执行命令

步骤12:通过计划任务提权

查看计划任务,发现root用户会定期执行/tmp/cleanup.py脚本

image-20250704233712875

上传cleanup.py并插入恶意的命令

上传成功后,等待一分钟执行命令后,自动创建用户,成功获取客服系统服务器root权限

查看flag文件

04

任务四:优惠大厅渗透

发现是目标系统的优惠大厅

步骤13:前台sql注入

在前台【会员登录】处,随意输入账号密码,bp开启抓包

对该数据包进行sql注入测试,发现存在时间盲注,发送如下数据包,会延时5秒返回

编写脚本跑获取数据库长度和数据库名,执行该脚本获取目标数据库的长度和数据库名

1
python3 dbs.py

尝试写脚本跑数据库的数据表名,发现脚本用>判断会报错,尝试用=判断,可以成功注入出数据表名,脚本如下,跑的很慢,测试的时候,可以把for i in range(0,15)中的0改为12,执行该脚本

1
python3 tables.py

发现存在un_admin表,尝试获取该表的列名,将下面的代码写入columns.py中执行该脚本,发现存在username和password字段

1
python3 columns.py

编写脚本获取目标的username和password字段的值,将以下代码写入username.py中,执行改脚本,获取username字段的值

1
python3 username.py

同理,获取password字段值把上面脚本中的username改为password即可,因为密码在数据库存储一般是加密过的,所以字段长度也设置的大一点因为字段比较长,这里也注入的很慢,将上面的代码写入password.py中,执行该文件

1
python3 password.py

获取到后台账号和md5加密的密码

1
admin    6fab062fd242430d18aeff4e116edb04 lmb      6e3261f301f41c5f4169cd562b259994

尝试md5解密,得到admin账号密码为:

1
lmb@123

步骤14:获取后台flag

上面我们通过前台sql时间盲注获取到目标后台账号密码,但是我们现在还不知道后台地址

输入用户名密码成功登录后台

在后台【系统管理】->【管理组】->【管理员】处,发现flag