image-20260203150516327

进来是一个游戏,有反调试机制f12和ctrl+u查看不了源码,可以在url前加上view-source:绕过

image-20260203151211952

往下找,找到logic.js

image-20260203151311297

进入后往下可以看到一个比较突出的代码段,这是击败国王后执行的代码

image-20260203151333064

把这段代码复制下来,去控制台运行,因为有反调试f12用不了,但是在firefox中,在右上角的三条杠的更多工具中有一个Web开发者工具

image-20260203150649184

点击打开控制台,可以在这执行我们的js代码

image-20260203150848316

把复制的代码粘贴好回车,可以看到一段php

image-20260203151657719

从这段代码可以看到,who和are的值都需要是数字,you则不能是数字和字母,这里可以采用取反绕过

我们可以先在本地尝试一下,因为本地不会自动url解码,所以我多加了一个函数,也可以不url编码

在本地运行成功了之后,可以得到传参给you的初步值了

image-20260203152621272

还要处理加在前后的数字,后面的很好处理加个分号即可,前面的可以用逻辑运算符和位运算符分割有|、||

1
2
3
4
|:在进行位运算时,这会先把两边的值算出,把右边我们的命令执行了
payload:who=1&are=1&you=|((~'%8C%86%8C%8B%9A%92')(~'%9C%9E%8B%DF%D0%99%93%9E%98'));
||:这个逻辑运算符的特性是如果左边是假,那还要计算出右边的值来判断右边
payload:who=1&are=1&you=||((~'%8C%86%8C%8B%9A%92')(~'%9C%9E%8B%DF%D0%99%93%9E%98'));

image-20260203154137333

image-20260203152316549