某充电桩小程序后台接管&越权修改他人信息以及密码(可遍历)前言本次测试属于公益类型的 SRC 弱口令抓包搜集域名信息发现有后台 弱口令直接登录成功 越权在编辑资料这一块 抓包发现后端是根据 id 参数来进行修改的,与 uuid 无关 在别的接口中发现有通过 uuid 来获取 id 的 开小号修改 id 为小号的,测试存在越权漏洞,并且 id 可遍历 其中小号的任何信息都可以被修改,不限于用户名、手机号、密码等等
出题——XMCVE–邮件钓鱼 1前言第一次出这种钓鱼链接的应急响应靶机,对于邮件部分,采用的是讲故事的方式 本期故事纯属虚构,请勿当真 (彩蛋:本期有 WebShell 免杀过火绒的源码噢!!!) 应急响应攻击者的两台服务器地址(克隆页面溯源)打开 Foxmail 可以看到来往的邮件 读完所有邮件后理清楚本期故事(没看懂是做不出来题的噢) 在这封邮件中,Jason 说我们的源码被泄露了,要我上去看看并且登录试试 警惕性高的人应该能看出不对劲了吧,所以邮件中的 IP 就是第一台服务器 访问过去后可以看到与 PHPStudy 中搭建的网站是一样的 至于为什么 Jason 能克隆,是因为 H1c
链接钓鱼–克隆页面获取凭证这是最经典且使用最广泛的链接钓鱼方式 攻击者会克隆目标组织的 VPN、邮箱(如 OWA)、CRM 等系统登录页,并在相似域名上部署,通过邮件诱导用户输入凭证 更具欺骗性的是,现代钓鱼工具包(如 PoisonSeed 或 Tycoon)已实现 “精准验证” 机制:它们会将受害者的邮箱地址嵌入 URL 作为唯一标识,后端验证匹配后才展示登录界面,无效访客则被重定向至 Google,从而有效过滤掉安全人员的蜜罐邮箱 克隆页面假设我们要克隆的登录页面如下 首先,使用插件 SingleFile 保存页面 修改 CSP 策略打开 login.html 源代码,搜索 <m
Gophish 配置教程配置发件人点击左侧 Sending Profiles -> New Profile 字段含义如下: Name:给这个配置起个易记的名字 Interface Type:保持 SMTP 即可,GoPhish 目前只支持 SMTP SMTP From:这是邮件客户端显示的 “发件人”,不会被 SMTP 服务器验证,你可以任意伪造 Host:邮箱服务器及端口 Username:填 SMTP 服务器的登录用户名 Password:填 SMTP 授权码 Ignore Certificate Errors:当 SMTP 服务器使用自签名
RSA 素数对称式泄露原理RSA 加密需要两个大数,p 和 q(这两个都是质数) 把 p 和 q 乘起来,得到 n(也就是 n = p * q),n 是公开的 如果要解密,就必须把 n 拆回 p 和 q。正常情况下,这几乎不可能做到,因为 p 和 q 太大了 但如果生成 p 和 q 时偷了懒,让它们之间存在某种 “对称” 关系,攻击者就能利用这个关系轻松地把 n 分解开 实战案例EasyRSA(素数对称式泄露) 题目给出条件 1z = Fraction(1, Derivative(arctan(p), p)) - Fraction(1, Derivative(arth(q), q)) De
RSA GCD 攻击攻击原理假设: 12n1 = p * q1n2 = p * q2 p 是同一个素数,q1 和 q2 不同 攻击者可以计算: 1p = gcd(n1, n2) 因为 p 同时整除 n1 和 n2,并且 n1 和 n2 除了 p 之外没有其他公共因子(q1 和 q2 不同,且都是素数) 一旦得到 p,立刻得到: 12q1 = n1 / pq2 = n2 / p 进而恢复私钥 d1 和 d2
RSA 共模攻击前置条件有两把 “公钥”:(n, e1) 和 (n, e2) 注意:n 完全相同,但 e1 与 e2 不同且互质 同一份明文 m,分别用这两把公钥加密,生成了两个密文: c1 = m^e1 mod n c2 = m^e2 mod n 如果只知道 c1, c2, e1, e2, n,没有私钥也能算出 m 贝祖等式共模攻击完全建立在贝祖等式上 如果两个整数 e1 和 e2 互质,那么存在整数 s 和 t 使得: 1e1 * s + e2 * t = 1 在 Python 里我们可以直接用 gmpy2.gcdext(e1, e2),它会返回 (g, s, t),其中 g=1
RSA 共素数攻击原理RSA 的公钥模数 N = p * q,其安全性建立在分解大数 N 的困难性上。如果两个不同的设备、用户或应用生成了各自的模数 N_1 和 N_2,但碰巧使用了同一个素数作为因子 N_1 = p × q_1 N_1 = p × q_1 那么,攻击者只要计算一次最大公约数就能立即得到公共因子 p,进而求出 q_1 和 q_2,两个模数同时被攻破 实战案例rsa(共素数攻击) 题目源码 123456789101112131415161718from Crypto.Util.number import getPrime,bytes_to_longflag=open(&q
RSA 低指数广播攻击攻击背景当同一份明文消息 m 使用相同的低加密指数 e(例如 e = 3 或 e = 5) 但不同的模数 N1, N2, ... , Nk 分别加密并发送给 k 个接收者时,攻击者如果能截获至少 e 个密文,就可以在不分解任何模数的情况下恢复出明文 该攻击属于 Hastad 广播攻击的一个特例(无随机填充时) 数学原理以 e = 3 为例 加密过程 123c1 = m^3 mod N1c2 = m^3 mod N2c3 = m^3 mod N3 因为 N1, N2, N3 两两互质,我们可以使用中国剩余定理(CRT) 求解同余方程组 123x ≡ c1 (mod N1)
RSA 基础欧拉函数 φ(n)φ(n) 表示 “小于等于 n 且与 n 互质的正整数的个数” 如果 n 是质数 p,那么 φ(p) = p - 1(因为 1,2,…,p-1 都和 p 互质) 如果 n = p * q,且 p、q 都是质数,那么 φ(n) = (p - 1) * (q - 1) 例如 p = 5, q = 11,则 n = 55,φ(55) = 4 * 10 = 40 密钥生成选两个大质数 p 和 q实际中 p、q 有 1024 位或 2048 位,这里我们用小数字演示 12p = 61q = 53