跳至主要內容
CSRF(跨站请求伪造)

CSRF(Cross-Site Request Forgery,跨站请求伪造)是一种攻击方式,攻击者诱导已登录受信任网站的用户,在不知情的情况下发送恶意请求,从而在用户已认证的情况下执行非本意的操作。

原理

攻击者通过构造与受害网站相同的请求,诱导用户点击链接或访问页面,利用用户已登录的身份在后台发起请求,达到攻击目的。

错误编码示例

如下是易受 CSRF 攻击的 Kotlin 后端代码示例:

// 未做任何 CSRF 防护的 Spring Controller
@RestController
class TransferController {

    @PostMapping("/transfer")
    fun transfer(
        @RequestParam to: String,
        @RequestParam amount: Int
    ): String {
        // 直接处理转账请求,未校验 CSRF Token
        // 实际业务逻辑略
        return "转账成功"
    }
}

KSJ大约 1 分钟安全
XSS(跨站脚本攻击)

XSS(Cross-Site Scripting,跨站脚本攻击)是一种常见的 Web 安全漏洞,攻击者通过在网页中注入恶意脚本,使脚本在用户浏览器中执行,从而窃取用户信息、冒充用户操作等。

分类

XSS 攻击主要分为三类:

1. 反射型 XSS

攻击代码作为请求参数提交,服务器端将其原样返回并在页面中立即执行。

示例:

https://example.com/search?q=<script>alert('xss')</script>

KSJ大约 2 分钟安全