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