作者:dabaisuv,原文链接:https://dabaisuv.github.io/2024/01/05/CTF-2024-Write-Up
CTF 2024 Presented by Cyandev https://ctf.cyandev.app 的通关笔记
1.Check in
看情况是需要我输入一个flag

随意输入字母a并单击提交,出现了如下提示。

这是javascript的alert提示,这里我们可以通过hook alert并栈回溯找到调用源,但是我们先试试直接寻找submit的回调函数。如图,找到click回调。

,由此再跳转到源码处,断点后发现此处函数为空。

进一步跟下去,各种跳转,应该是一种反跟踪措施。正着走行不通就倒着hookalert试试,
在控制台执行以下命令:
1 | // 保存原始的 window.alert 函数 |
上面的命令会hook住alert函数,并在被调用时触发调试器中断。
回到提交flag处再次点击submit,此时alert被调用并触发中断。

栈回溯找到if判断,将条件直接改为改为true并再次运行。


成功!
直接成功过了,其实还有一种方法可以获取flag1的真实值,就是直接一路跟到它的checkFlag1函数并修改暴力破解的。

Challenge 2也可直接修改if的判断值绕过。

作者还给了一个通关奖励,需要flag1的真实值。

可以利用我上面的暴力破解法获取真实值,打码了。

最终是一个支付宝口令红包,不过好像被领完了。
