2021.12掌控安全擂台赛 部分WriteUp

签到题:一张简单图片

在线网址查看源代码 https://tools.yum6.cn/Tools/view_source/index.php

或者将图片下载到本地,查看十六进制发现最后面有一串HTML代码

解密一下

仙剑奇侠传-翻牌游戏

查看源码看到有三个可跳转文件

在 css/style.css 和 js/main.js 里面各有一段 Jsfuck (jsfuck源于一门编程语言brainfuck,其主要的思想就是只使用8种特定的符号来编写代码。而jsfuck也是沿用了这个思想,它仅仅使用6种符号来编写代码。它们分别是(、)、+、[、]、!。)

两段代码拼接在一起,控制台直接回车解一下码得到testaaaa.php

访问testaaaa.php

Payload:CTF_SHOW=1&CTF[SHOW.COM=1&abc=extract($_POST)&fl0g=flag_give_me

代码审计

PHP变量名应该只有数字字母下划线,同时GET或POST方式传进去的变量名,会自动将空格 + . [转换为_
但是有一个特性可以绕过,使变量名出现.之类的
特殊字符[, GET或POST方式传参时,变量名中的[也会被替换为_,但其后的字符就不会被替换了
如 CTF[SHOW.COM=>CTF_SHOW.COM

再看最后的判断语句只要$fl0g === "flag_give_me" 成立即可输出flag,直接考虑用 extract 进行变量覆盖,用POST覆盖fl0g

绿色方块:点到就给flag

下载exe文件,通过即给flag

胡话不说,手点就完了

送分题:一个登录框

默认用户:admin 密码:6位纯数字

使用bp抓包爆破70w-80w,过滤flag关键字

密码为 754120
posted @ 2022-05-19 09:52  NoCirc1e  阅读(136)  评论(0编辑  收藏  举报