XD安全交流

 找回密码
 注册交流

QQ登录

只需一步,快速开始

快捷发帖
查看: 28|回复: 1

Web 开发者的安全必修课:三大致命漏洞(第三章)

[复制链接]
  • TA的每日心情

    2025-4-18 08:21
  • 签到天数: 1 天

    [LV.1]初来乍到

    9

    主题

    12

    帖子

    136

    积分

    认证安全响应员

    Rank: 2

    积分
    136

    XD社区嘉宾QQ群管理勋章赞助会员

    发表于 2025-4-18 14:40:39 | 显示全部楼层 |阅读模式
    XD论坛免责声明
    本论坛为网络技术研究交流平台,所有内容仅限于学术探讨、防御技术提升及合法授权测试场景。禁止任何主体将本站技术信息用于非法渗透、网络攻击、数据窃取等违法犯罪活动。用户发布内容须符合《网络安全法》《数据安全法》等中国法律法规及所在司法辖区法律要求,禁止传播恶意代码、漏洞利用工具等非法资源。所有技术文档需明确标注适用场景(如:竞赛环境、授权渗透测试),提供实验环境搭建指南及风险控制方案。用户需承诺不利用本平台技术进行未授权测试,因技术滥用导致的法律后果由行为人独立承担。免责条款‌:用户因技术误用导致的系统瘫痪、数据丢失等后果,本平台不承担任何连带责任,技术交流产生的观点分歧及学术争议,不代表本论坛的官方立场,论坛不担保技术文档的绝对安全性,使用者应自行搭建隔离测试环境。
    本帖最后由 小七 于 2025-4-18 14:45 编辑


    三、CSRF(Cross-site request forgery)跨站请求伪造

    攻击者利用用户已登录的会话状态,诱导用户访问恶意页面,从而以用户身份发起非预期的请求(如转账、修改密码、更改邮箱等)。核心问题是后端未校验请求的合法性

    攻击原理

    用户登录合法网站:用户登录 example.com,会话 Cookie 存储在浏览器中

    用户访问恶意页面:攻击者诱导用户点击链接或访问包含恶意代码的页面(如钓鱼邮件、广告)

    自动发起伪造请求:恶意页面自动向 example.com 发起请求(如转账操作),浏览器自动携带用户的 Cookie

    后端执行非法操作:后端未校验请求来源,直接执行操作

    防御方式

    防御核心是“验证请求是否来自合法来源”

    使用 CSRF Token:为每个会话生成唯一 Token,嵌入表单或请求头,后端校验 Token 合法性


    [AppleScript] 纯文本查看 复制代码
    // Spring Security 配置
    @Configuration
    @EnableWebSecurity
    public class SecurityConfig extends WebSecurityConfigurerAdapter {
        @Override
        protected void configure(HttpSecurity http) throws Exception {
            http
                .csrf() // 启用 CSRF 防护
                    .csrfTokenRepository(CookieCsrfTokenRepository.withHttpOnlyFalse());
        }
    }


    [AppleScript] 纯文本查看 复制代码
    <input type="hidden" name="csrf" value="${csrf.token}">

    敏感操作二次验证[color=rgb(1,]

    [AppleScript] 纯文本查看 复制代码
    // 转账前要求用户输入密码或验证码
    function confirmTransfer() {
        const password = prompt('请输入支付密码');
        if (password) {
            // 提交表单
        }
    }


    避免使用 GET 请求修改数据

    [AppleScript] 纯文本查看 复制代码
    <!-- 错误:GET 请求触发敏感操作 -->
    <a href="https://bank.com/transfer?to=attacker&amount=100000">点击领奖</a>
    
    <!-- 正确:仅用 POST 请求 -->
    <form method="POST" action="/transfer">
      <!-- 包含 CSRF Token -->
    </form>


    这篇文章如果作为纯粹的 Web 安全来看的话是比较片面的,实际上攻击方式远远不止这几个。前端开发的朋友简单了解一下最常见的安全问题还是有必要的,其余的当作扩展知识来对待就好。









    XD论坛免责声明
    本论坛为网络技术研究交流平台,所有内容仅限于学术探讨、防御技术提升及合法授权测试场景。禁止任何主体将本站技术信息用于非法渗透、网络攻击、数据窃取等违法犯罪活动。用户发布内容须符合《网络安全法》《数据安全法》等中国法律法规及所在司法辖区法律要求,禁止传播恶意代码、漏洞利用工具等非法资源。所有技术文档需明确标注适用场景(如:竞赛环境、授权渗透测试),提供实验环境搭建指南及风险控制方案。用户需承诺不利用本平台技术进行未授权测试,因技术滥用导致的法律后果由行为人独立承担。免责条款‌:用户因技术误用导致的系统瘫痪、数据丢失等后果,本平台不承担任何连带责任,技术交流产生的观点分歧及学术争议,不代表本论坛的官方立场,论坛不担保技术文档的绝对安全性,使用者应自行搭建隔离测试环境。
    回复

    使用道具 举报

  • TA的每日心情

    2025-4-18 08:21
  • 签到天数: 1 天

    [LV.1]初来乍到

    9

    主题

    12

    帖子

    136

    积分

    认证安全响应员

    Rank: 2

    积分
    136

    XD社区嘉宾QQ群管理勋章赞助会员

     楼主| 发表于 2025-4-18 14:53:32 | 显示全部楼层
    完结,仅供个人参考
    回复

    使用道具 举报

    懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
    您需要登录后才可以回帖 登录 | 注册交流

    本版积分规则

    QQ|Archiver|手机版|小黑屋|小段安全交流论坛 ( 冀ICP备2024093090号-1 )

    GMT+8, 2025-4-30 19:15 , Processed in 0.121171 second(s), 33 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.

    快速回复 返回顶部 返回列表