
一、Lottery
打开后发现靶场加载异常缓慢,并提供了源码。先不看源码熟悉一下网站功能。
这是一个类似猜数字游戏,选对 7 个号码即可得到相应奖励。

注册后随便输入 7 个数字发现一个也没中,浪费 2 元。

点击网站功能发现想要获取 flag 需要有相对应的余额。

思路是利用 BP 抓包看看能不能修改余额。

尝试修改似乎成功,但刷新页面后余额变回原值,说明前端修改无效。

查看猜数字页面访问的 api.php 进行代码审计。核心代码如下:
//部分代码
function random_num(){
do {
$byte = openssl_random_pseudo_bytes(10, $cstrong);
$num = ord();
} ( >= );
(!){ (); }
/= ;
(());
}
{
= ;
(=; <; ++){
.= ();
}
;
}
{
();
();
= [];
= [];
= ();
= ;
(=; <; ++){
([] == []){
++;
}
}
() {
: = ; ;
: = ; ;
: = ; ;
: = ; ;
: = ; ;
: = ; ;
: = ; ;
}
+= - ;
[] = ;
([=>,=>, =>, =>, =>]);
}











