PHP特性:逻辑运算符实例
<?php include("flag.php"); highlight_file(__FILE__); if(isset($_GET['username']) && isset($_GET['password']) && isset($_GET['code'])){ $username = (String)$_GET['username']; $password = (String)$_GET['password']; $code = (String)$_GET['code']; if($code === mt_rand(1,0x36D) && $password === $flag || $username ==="admin"){ if($code == 'admin'){ echo $flag; } } }
重点关注这么一句话:
if(isset($_GET['username']) && isset($_GET['password']) && isset($_GET['code'])){
这里运用到了逻辑运算符,也就是前面为假但后面为真就可以了。
但是注意的是,前面的code参数不能瞎写,因为后面还有个if
if($code == 'admin'){
最终payload:
?username=admin&password=1&code=admin