csrf攻击测试样例
时间: 2024-11-21 16:06:46 浏览: 6
CSRF (Cross-Site Request Forgery) 攻击是一种常见的网络欺诈手段,攻击者利用用户的已登录会话信息,在用户不知情的情况下发送恶意请求给目标网站。以下是一个简单的 CSRF 测试样例:
假设你在开发一个注册系统,用户通过表单提交个人信息。为了防止 CSRF,你可以采用以下措施:
1. **添加CSRF Token**: 在每次表单提交时,服务器生成一个随机令牌并存储在 cookie 或隐藏字段里。前端也需要将这个 token 一并发送到服务器。
```html
<form action="/register" method="post">
<input type="hidden" name="csrf_token" value="<%= csrf_token %>">
<!-- ...其他表单元素 -->
</form>
```
2. **验证Token**: 服务器在接收到 POST 请求时,首先检查请求头或携带的 cookie 中的 CSRF Token 是否匹配表单中的 Token。如果不一致,就拒绝请求。
3. **HTTP Only和Secure标志**:设置 cookie 的 HttpOnly 和 Secure 属性,可以防止 JavaScript 访问和在非安全连接上发送 token。
如果你要做一个简单的 CSRF 模拟测试,你可以尝试:
1. **模拟登录**:获取受害用户的登录凭证,并使用它们登录你的应用。
2. **伪造POST请求**:创建一个包含非法数据和正确 Token 的请求,试图注册新账户。
3. **观察结果**:如果防御机制有效,你应该看到服务器拒绝了这个请求。
阅读全文