题目:https://adworld.xctf.org.cn/challenges/problem-set-index?id=25&rwNmOdr=1678803670521
![](https://i-blog.csdnimg.cn/blog_migrate/b655fde29ee7ec76f720538e5e38408c.png)
![](https://i-blog.csdnimg.cn/blog_migrate/cbcb4f471b9ab81a8046b4018fac7040.png)
打开场景就是让我们输密码,随手输一个看看
![](https://i-blog.csdnimg.cn/blog_migrate/1853f6e1fe65026be0757aa48d5c21f3.png)
回显假密码还带个haha(有被嘲笑到),网页空白,题目又提及js,那就查看一下网页源代码
![](https://i-blog.csdnimg.cn/blog_migrate/53f69636f4bace09183b3c361fc16598.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://i-blog.csdnimg.cn/blog_migrate/48f31ba908f0409cfaa09d58d3bc8863.png)
得到这一串数字,盲猜是ASCII编码,再写个python脚本跑一下看看
![](https://i-blog.csdnimg.cn/blog_migrate/532fdc536b91b4047c6622cac0844c8b.png)
按照题目描述flag格式尝试提交成功
那么flag为
Cyberpeace{786OsErtk12}