MoeCTF2025 Web
MoeCTF2025 Web Wp启动环境需要下载 WebSocket Reflector X 来映射到本地(西电CTF特供) 除了一些不喜欢的()都可以做 Week100 Web入门指北下载txt文件,说要在控制台输入,那就F12开控制台,输入后回车即可 01 第一章 神秘的手镯F12查看源码,可以发现有JS文件,打开发现flag 02 第二章 初识金曦玄轨查看源码,可以发现让我们查看 /gloden_trail,由提示可知查看请求包,则打开网络再刷新即可看见flag 03 第三章 问剑石!篡天改命!查看源码: 1234567891011121314151617181920212223242526272829303132<script> async function testTalent() { try { const response = await fetch('/test_talent?level=B', { ...
LilCTF2025 Web Wp&复现
LilCTF Web给学满一年的CTFer的CTF对我而言还是太超标了,全靠队友带飞,我会继续努力的(哭)(励志) (题目出的太好了) ez_bottle由题目这部分可知,需要我们上传zip文件,然后会检测文件内容,合格之后再进行解压 12345678910@post('/upload')def upload(): zip_file = request.files.get('file') if not zip_file or not zip_file.filename.endswith('.zip'): return 'Invalid file. Please upload a ZIP file.' if len(zip_file.file.read()) > MAX_FILE_SIZE: return 'File size exceeds 1MB. Please upload a smaller ZIP file.' ...
Electron框架&腾讯云COS
Electron框架&腾讯云COS这两个也没什么必然的联系,就是NepCTF中的fakeXSS用了这两个,就干脆放在一起来学习一下 Electron框架入门Electron,手把手教你编写完整实用案例想学习Electron,又门槛太高?这篇文章帮你从原理到操作入门Elec - 掘金 概念Electron是一个使用 JavaScript、HTML 和 CSS 构建桌面应用程序的框架,使用Electron开发的桌面应用,类似于简易版的、定制版的Chrome浏览器 简单来说,一个WebPage,如果是用Electron开发的,那么连上方的输入网址框、跳转页面按钮开发者都是能控制得,而在Web应用中做不到(见下图) 和浏览器架构类似,Electron应用程序区分主进程和渲染进程 主进程负责控制应用程序的生命周期、创建和管理应用程序窗口,有着多种控制原生桌面功能的模块,例如菜单、对话框以及托盘图标 渲染进程负责完成渲染界面、接收用户输入、响应用户的交互等工作 一个Electron应用只有一个主进程,但可以有多个渲染进程 开启第一个项目初始化&安装 在文件夹中执行 123n...
NepCTF2025_Web_Wp&复现
NepCTF2025 Web Wp&复现Groovy & RevengeGroovy测试可知java.io.File,execute()等被禁用,但是exec()还可以 对java.lang.[]进行测试,发现大部分都被禁止了,剩下java.lang.Math不会爆startup failed 一直问AI倒是可以出来,原本看了篇文章用了好久的AST断言,发现只会返回类名无法回显 1java.lang.Math.class.forName("java.lang.Runtime").getRuntime().exec("env").getText() 然后发现Revenge一样可以用 JavaSeri登入进去发现是shiro,自然想到shiro550反序列化漏洞,查看环境变量即可(Revenge怎么没了) safe_bank进来先注册一个账号登入看看 发现是普通用户,抓包看看 发现一段base64编码 1{"py/object": "__main__.Session", &...
D^3CTF2025 Web复现
D^3 CTF2025 Web复现D3CTF-2025-Official-Writeup/D3CTF-2025-Official-Writeup-CN.pdf at main · D-3CTF/D3CTF-2025-Official-Writeup 太几把难了,看了wp发现全都是自己没见过的,正好借着机会学习学习 d3invitation 抓包拦截上传图片过程,发现这边的session_token是一个JWT 然后去解码这个JWT,发现存在base64的内容 base64解码,再对 sessionPolicy 解码后,我们会发现这是生成 STS 临时凭证时使用的 policy 并且仔细观察可以发现这个 policy 应该是依据上传图片的文件名 object_name 动态生成的 然后我们这边可以对policy进行注入,获取到所有权限: 1"*\"]},{"\Effect\":\"AlloW\",\"Action\":[\"s3:*\"],\"Re...
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 = document.g...
第二届Parloo杯 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 然后爆破这个三位数即可 猫猫的秘密 | Pure12345678910111213141516171819202122232425262728293031323334353637383940414243...
Pearcmd.php本地文件上传
Pearcmd.php本地文件上传BUUCTF在线评测 这题目里面有个 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'])) { $msg = "Could not read cmd args (register_argc_argv=Of...
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 generato...
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 i...
JNDI注入 && JDBC反序列化
从GeekChallenge2025想到要重新搞一下这篇文章
Phar反序列化
Phar反序列化phar反序列化+两道CTF例题_ctf phar-CSDN博客 php反序列化拓展攻击详解—phar-先知社区 浅析Phar反序列化 - FreeBuf网络安全行业门户 Phar与Stream Wrapper造成PHP RCE的深入挖掘-先知社区 phar 文件本质上是一种压缩文件,会以序列化的形式存储用户自定义的meta-data。当受影响的文件操作函数调用phar文件时,会自动反序列化meta-data内的内容。(漏洞利用点) (1)什么是phar文件简介phar 归档的最佳特征是可以将多个文件组合成一个文件。 因此,phar 归档提供了在单个文件中分发完整的 PHP 应用程序并无需将其解压缩到磁盘而直接运行文件的方法。此外,phar 归档可以像任何其他文件一样由 PHP 在命令行和 Web 服务器上执行。phar 有点像 PHP 应用程序的移动存储器。(官网) 总而言之就是像file://或者data://这种流包装器,phar可以让多个文件归档到同一个文件,在不经过解压的情况下被php访问并执行 标识 必须以__HALT_COMPILER();?>...
