小工具知识网

当前位置: 首页 > 行业知识 > 【Web】2024XYCTF题解(全)

行业知识

【Web】2024XYCTF题解(全)

2026-11-02 10:09:48 来源:互联网转载

目录

ezhttp 

ezmd5

warm up

ezMake 

ez?Make

εZ?¿м@Kε¿?

我是一个复读机 

牢牢记住,逝者为大

ezRCE

ezPOP

ezSerialize 

ezClass 

pharme 

连连看到底是连连什么看

ezLFI

login

give me flag

baby_unserialize 


ezhttp 

访问./robots.txt

继续访问拿到账号密码

 登录,然后就是抓包各种http八股

ezmd5

GitHub - zhijieshi/md5collgen

生成的图片分别上传即可

(只允许上传jpg,重新生成就行,懒得放图了) 

点击比较图片拿到flag

warm up

 鉴定为md5八股

?val1[]=1&val2[]=2&md5=0e215962017&XY=0e215962017&XYCTF=0e215962017

访问./LLeeevvveeelll222.php

 

数组绕过preg_match,preg_replace命令执行

?a=/1/e&b=system('tac /f*')&c=1a[]=1

 

ezMake 

PATH 环境变量被显式地设定为空。这段 Makefile 的逻辑检查了 PATH 是否未定义,如果未定义则设为空,如果已定义也重设为空。由于 PATH 被设置为空,shell 将无法定位到除内置命令之外的任何外部命令的位置。

Bash 内建命令

这些命令是由Bash自身提供,而不是独立的程序:

  • alias - 定义或显示别名。
  • cd - 改变当前目录。
  • echo - 输出参数到标准输出。
  • exit - 退出当前shell。
  • export - 设置或显示环境变量。
  • history - 显示命令历史记录。
  • pwd - 打印当前工作目录的路径。
  • read - 从标准输入读取一行数据。
  • set - 设置或取消设置shell选项和位置参数。
  • type - 显示一个命令的类型。
  • unset - 删除变量或函数的定义。

    echo可以执行

    直接echo写马会有waf

    甚至base64也不行

    hex2bin可以过

    echo '' > yjh.php

    成功写马,命令执行拿flag

    ez?Make 

    这题patch了一下上题的非预期,不能再echo写马了

    但也把/bin下的命令放了出来,不再有PATH的限制

    知道flag路径在/flag,所以可以cd再进行读文件,读文件的方法ban了不少,经过测试more还能用

    最终payload:

    cd ..&&cd ..&&cd ..&&cd ..&&cd ..&&more [0-z][0-z][0-z][0-z]

    εZ?¿м@Kε¿?

    右键查看源码

    访问./hint.php

    就是说给了个白名单

    关于makefile的自动变量

    Makefile中的自动变量是在规则执行时由make自动定义的变量。这些变量非常有用,因为它们可以自动获取文件名、目录名和更多的信息,使得Makefile编写更加简洁和灵活。下面是一些常用的自动变量:

    • $@: 表示规则中的目标文件名。如果在模式规则中,它表示的是目标的一个实例。
    • ${}}、{%%}、_、'都被ban了,这我还注个集贸啊{}}

上一篇:怎么举报暂停服务器的人员?

下一篇:【C++】结构体