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杯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 然后爆破这个三位数即可 猫猫的秘密 | 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...
Pickle反序列化
Pickle反序列化上接ISCC2025校赛的有一道疑似SQL的题目被骗说是Pickle反序列化,但刚好也来补习一下 pickle反序列化漏洞基础知识与绕过简析-先知社区 CTF题型 Python中pickle反序列化进阶利用&;例题&;opache绕过_python pickle ctf-CSDN博客 pickle反序列化初探-先知社区 CTF-python pickle反序列化 - sijidou - 博客园 简介pickle是Python的一个库,可以对一个对象进行序列化和反序列化操作.其中__reduce__魔法函数会在一个对象被反序列化时自动执行,我们可以通过在__reduce__魔法函数内植入恶意代码的方式进行任意命令执行.通常会利用到Python的反弹shell. 前置知识python对象在python中,对象的概念十分广泛. 对象是数据和功能的结合体。Python是一种面向对象编程语言,它使用对象来组织代码和数据。在Python中,几乎所有的东西都是对象,包括整数、浮点数、列表、元组、字典、函数、类等。 一个Python对象通常包含...
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...
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') { $ip ...
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...
Php反序列化逃逸
Php反序列化逃逸[安洵杯 2019]easy_serialize_php - LLeaves - 博客园 BUUCTF在线评测 [安洵杯 2019]easy_serialize_php BUUCTF之[安洵杯 2019]easy_serialize_php ———— 反序列化/序列化和代码审计_ctf 反序列化变量覆盖-CSDN博客 键值逃逸 因为序列化的字符串是严格的,对应的格式不能错,比如s:4:“name”,那s:4就必须有一个字符串长度是4的否则就往后要。 并且反序列化会把多余的字符串当垃圾处理,在花括号内的就是正确的,花括号{}外的就都被扔掉。 php中,反序列化的过程中必须严格按照序列化规则才能成功实现反序列化,但是反序列化是有一定的识别范围的,比如: 123456789101112<?php$str='a:2:{i:0;s:8:"Hed9eh0g";i:1;s:5:"aaaaa";}abc';var_dump(unserialize($str));?>...
JNDI注入 && JDBC反序列化
从GeekChallenge2025想到要重新搞一下这篇文章
