题目:https://adworld.xctf.org.cn/challenges/problem-set-index?id=25&rwNmOdr=1678803670521
![](https://img-blog.csdnimg.cn/img_convert/7a37768e37fb6ca1a8815932fa09ffcb.png)
![](https://img-blog.csdnimg.cn/img_convert/1e1def14a39348327030577fcd52c554.png)
打开场景就是让我们输密码,随手输一个看看
![](https://img-blog.csdnimg.cn/img_convert/051fbb9be10ee2839d411070f200c951.png)
回显假密码还带个haha(有被嘲笑到),网页空白,题目又提及js,那就查看一下网页源代码
![](https://img-blog.csdnimg.cn/img_convert/627be84e8117fb02bd65f66682216022.png)
js代码这么多,线索应该是在这其中。对代码审计一番发现,首先是定义了很多无用变量,其次回显结果与tab无关。这时候下方的一段代码引起了注意。
String["fromCharCode"](dechiffre("\x35\x35\x2c\x35\x36\x2c\x35\x34\x2c\x37\x39\x2c\x31\x31\x35\x2c\x36\x39\x2c\x31\x31\x34\x2c\x31\x31\x36\x2c\x31\x30\x37\x2c\x34\x39\x2c\x35\x30"));
\x开头感觉是十六进制,随手写个python脚本跑一下看看
![](https://img-blog.csdnimg.cn/img_convert/ea9c5c58d816c29ed1b2feb4211439e9.png)
得到这一串数字,盲猜是ASCII编码,再写个python脚本跑一下看看
![](https://img-blog.csdnimg.cn/img_convert/b9a5deb0abf42e1de21be63b475efeba.png)
按照题目描述flag格式尝试提交成功
那么flag为
Cyberpeace{786OsErtk12}