XYCTF2025复现(WEB)

ez_puzzle

打开环境也是发现个神奇的东西

图片

这里只要按键盘上的按键就会弹出这个
还有右键也不行

还有一个看源代码的方法,直接在网页里面输入,不过这个要在访问这个界面之前输入

图片

图片

就是一个禁止键盘按键和鼠标右键的代码

随便拼一下看看会发生什么

图片

图片

啥都没发生
抓个包看看

图片

这里面有个新的请求头

If-None-Match

这个请求头

图片

If-None-Match是一个用于 HTTP 条件请求的头字段,它的主要作用是让客户端告诉服务器:“只有当服务器上的资源(文件、数据等)的版本与我提供的标识(ETag)不匹配时,才返回完整的数据。如果匹配,说明我本地缓存的内容是最新的,请直接返回 304 状态码,这样我就可以使用本地缓存了。”

还有个兄弟叫If-Match
这个和他就是反着的

图片

但是这里后面意外发现好东西
就是把拼图拼完之后

再点击一下这个图会提交

图片

抓一下这个提交的包看看

这里没啥东西
源代码里面有个puzzle.js进去一看罗师傅提点得知这是js混淆

但是网上并不能将其反混淆出来
所以这里直接在里面找了

弹窗的函数认识的就alert直接搜一下

这里可以直接关闭美化就舒服了

图片

搜索一下alert

图片

这里可以看见了

再搜一下time

图片

图片

这里可以猜一下源码应该是使用的时间来比较进行弹窗

然后下面的弹窗的条件应该是startime与endtime的差值
这里可以使用控制器看一下

图片

所以这里只需要令startime足够大
变成负数是最稳定

直接在控制器里面进行赋值

那为什么不改endtime呢?
因为endtime是要我们提交之后才会存在startime是已经存在的我们可以直接赋值

图片

然后再去拼图

图片

Signin

图片

好简陋的一个页面

看下源代码

图片

很干净
扫一下

图片

这里的第一个是../是一个目录读取的
这个在网上不能直接解
这个直接丢给AI就知道了

第二个就是没啥东西

第三个download

第四个一看就是关键

图片


还有一个附件看一下

图片

这个还是比较简短的代码了

这里先看路由download
这里可以访问任意文件但是目录穿越的符号被禁止了,这里想办法绕过一下

posted @ 2025-09-23 00:02  crook666  阅读(7)  评论(0)    收藏  举报