2022年春秋杯网络安全联赛 冬季赛-wp

太菜了捏只出了两题呜呜呜

目录

misc—nan's analysis

web— ezphp


misc—nan's analysis

2022年春秋杯网络安全联赛 冬季赛-wp_第1张图片

一眼丁真要流量分析找root密码

wireshark打开流量包,检索password找到一个包

2022年春秋杯网络安全联赛 冬季赛-wp_第2张图片

keyisChunqiuGame00504

翻找流量包发现有shell.php文件,可能有后门

然后在终端读这个文件

应该是零宽隐写,用下面这个网站解

Zero Width Libhttps://yuanfux.github.io/zero-width-web/

2022年春秋杯网络安全联赛 冬季赛-wp_第3张图片

压缩密码格式'abac'*4,abac为纯数字形如1213,此密码与root密码有关

前面找到一个密码ChunqiuGame00504

猜测可能是0504 *4

0504050405040504

找到一个文件上传的的地方,打开康康

他把上传的后门给加密了,eval的时候会执行解密,直接改成echo把结果打印出来

2022年春秋杯网络安全联赛 冬季赛-wp_第4张图片

再跑一遍

2022年春秋杯网络安全联赛 冬季赛-wp_第5张图片

/8MARVmEAnfKntdp2/HP0w==

这个就是加密的root密码的密文

2022年春秋杯网络安全联赛 冬季赛-wp_第6张图片

上号,拿flag

2022年春秋杯网络安全联赛 冬季赛-wp_第7张图片

web— ezphp


参考:Linux—shell中$(( ))、$( )、``与${ }的区别 - chengd - 博客园

is_string($num) //检查参数num是否为字符串

strlen($num) < 5 //参数num的长度要小于5

strpos($num,'111') === false && strpos($num,'0') === false //字符串里面不能含有111和0

eval("return 111===${num};") //eval执行,要求("return 111===${num};")的返回值为true

满足以上条件就读取flag

关键在于 "return 111===${num};" //${num}=$num

字符串里不允许有111,又要它等于111

一开始想到加减乘除,尝试加减无果,除法好像会超长度

用乘法:37*3=111

?num=37*3

2022年春秋杯网络安全联赛 冬季赛-wp_第8张图片

每日emo

“无论将来是否会再碰面,都不敢轻易问一句:你好吗?怕你说过的不好,而我也无能为力。也怕你说:我很好。你看,你的世界其实没有我,也挺好。”

你可能感兴趣的:(ctf,网络安全)