Web基础
Web基础(持续更新,暂定)每个知识点后面都会附带若干例题进行讲解,覆盖基础到综合 刷题网站https://www.polarctf.com/#/page/challenges POLAR靶场 题库 | NSSCTF NSS BUUCTF在线评测 BUU 攻防世界 攻防世界 登录 春秋云镜(Web渗透) CTFHub CTFhub …. 常用工具maurosoria/dirsearch: Web path scanner Dirsearch目录扫描工具 [https://github.com/AntSwordProject/] 蚁剑 Marven11/Fenjing: 专为CTF设计的Jinja2 SSTI全自动绕WAF脚本 | A Jinja2 SSTI cracker for bypassing WAF, designed for CTF Fenjing Windows版phpstudy下载 - 小皮面板(phpstudy) Phpstudy (用来展示运行php代码的结果) 发布 ·记事本加加/记事本加加...
LitCTF2025 WP&复现
LitCTF 2025 Web WP&复现打Parloo杯线下的时候顺手搓了几题,感觉题目质量还是很不错的 多重宇宙日记关键代码: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566<script> // 更新表单的JS提交 document.getElementById('profileUpdateForm').addEventListener('submit', async function(event) { event.preventDefault(); const statusEl = document.getElementById('updateStatus'); const currentSettingsEl =...
第二届Parloo杯Web 除了0解之外的Wp
Web第一次战斗到最后一刻的比赛….劳累 CatBank | Pure注册2-3个账号,发现能转钱到负数,就直接转给另一个号一百万即可 当时好像要刚好才行,之前超了几分钱就没回显 CatNet | Pure先扫目录: 尝试访问,发现需要本地IP才可以进入,那么直接抓包XFF: 然后看到: 123456function getFlag() { fetch('/admin/flag', { headers: { 'X-Internal-Auth': 'cateye-internal-000' } } 就直接在添加一条X-Internal-Auth: cateye-internal-xxx 然后爆破这个三位数即可 猫猫的秘密 |...
Pearcmd.php本地文件上传
Pearcmd.php本地文件上传[BUUCTF在线评测](https://buuoj.cn/challenges#[NewStarCTF 2023 公开赛道]Include 🍐) 这题目里面有个 LFI to RCE ,当时不知道什么意思,就顺着这么学习一下() 前提:要求题目 register_argc_argv On pearcmd.php的文件位置:/usr/local/lib/php/pearcmd.php(正常情况) 源码: 12345678910111213141516public static function readPHPArgv(){ global $argv; if (!is_array($argv)) { if (!@is_array($_SERVER['argv'])) { if (!@is_array($GLOBALS['HTTP_SERVER_VARS']['argv'])) { ...
Pickle反序列化
Pickle反序列化上接ISCC2025校赛的有一道疑似SQL的题目被骗说是Pickle反序列化,但刚好也来补习一下 pickle反序列化漏洞基础知识与绕过简析-先知社区 CTF题型 Python中pickle反序列化进阶利用&;例题&;opache绕过_python pickle ctf-CSDN博客 pickle反序列化初探-先知社区 CTF-python pickle反序列化 - sijidou -...
Python栈帧沙箱逃逸
Python栈帧沙箱逃逸上接Mini L-CTF2025复现 Python利用栈帧沙箱逃逸-先知社区 python栈帧沙箱逃逸 - Zer0peach can’t think 生成器概念生成器(Generator)是 Python 中一种特殊的迭代器,它可以通过简单的函数和表达式来创建。生成器的主要特点是能够逐个产生值,并且在每次生成值后保留当前的状态,以便下次调用时可以继续生成值。这使得生成器非常适合处理大型数据集或需要延迟计算的情况。 在 Python 中,生成器可以使用 yield 关键字来定义。yield 用于产生一个值,并在保留当前状态的同时暂停函数的执行。当下一次调用生成器时,函数会从上次暂停的位置继续执行,直到遇到下一个 yield 语句或者函数结束。 例子123456789def generator(): a = 1 while True: yield a a += 1g = generator()print(next(g))print(next(g))print(next(g)) 运行如下: 当然也可以换其他方式: 12345678def...
Php函数
PHP函数(持续更新)1.shell_exec执行里面的语句 2.parse_str() parse_str()函数直接将查询参数解析到当前作用域变量中 1@parse_str($id); // 未使用第二个参数导致变量覆盖 12345678910111213141516171819202122<?phperror_reporting(0);if (empty($_GET['id'])) { show_source(__FILE__); die();} else { include 'flag.php'; $a = "www.baidu.com"; $result = ""; $id = $_GET['id']; @parse_str($id); echo $a[0]; if ($a[0] == 'www.polarctf.com') { ...
mini L-CTF2025 Web复现
Mini L-CTF2025 Web复现好多游戏题,JS和 JAVA啊,一个不会啊,虽然那题Python也不太会(),美美Web爆零,但是做出来一道MISC的JS游戏题,就有点离谱…. Click and Click 一进来是个按钮,要求点到10000次,手点肯定不可能,直接看JS源码,拉到最下面可以发现关键代码: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162function wn(t, e) { ce(e, !1); const r = "/update-amount"; let n = Wr(e, "count", 12); Jr(); var s = mn(); s.__click = [yn, n, r]; var o = Pt(s); Tr( () => $r(o, `count...
Php反序列化逃逸
Php反序列化逃逸[[安洵杯 2019]easy_serialize_php - LLeaves - 博客园](https://www.cnblogs.com/LLeaves/p/12813992.html#2. php反序列化字符逃逸) [BUUCTF在线评测](https://buuoj.cn/challenges#[安洵杯 2019]easy_serialize_php) [安洵杯 2019]easy_serialize_php [BUUCTF之安洵杯 2019]easy_serialize_php ——– 反序列化/序列化和代码审计_ctf...
JNDI注入
JNDI注入Java漏洞在黑盒实战中的技巧——JNDI注入篇 - FreeBuf网络安全行业门户 JAVA安全之Log4j-Jndi注入原理以及利用方式_log4j jndi-CSDN博客 Java安全之JNDI注入 - nice_0e3 - 博客园 JNDI注入原理及利用考究-先知社区 深入理解JNDI注入与Java反序列化漏洞利用 - 博客 - 腾讯安全应急响应中心 JNDI(Java Naming and Directory Interface,Java命名和目录接口)是SUN公司提供的一种标准的Java命名系统接口,JNDI提供统一的客户端API,通过不同的访问提供者接口JNDI服务供应接口(SPI)的实现,由管理者将JNDI API映射为特定的命名服务和目录系统,使得Java应用程序可以和这些命名服务和目录服务之间进行交互。目录服务是命名服务的一种自然扩展 JNDI(Java Naming and Directory...