• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
sqiqi
博客园    首页    新随笔    联系   管理    订阅  订阅

跨站请求伪造(CSRF)

1.无防御措施的 CSRF 漏洞
诱导被攻击者点击链接,篡改邮箱
截获更新邮箱页面
获取csrfpoc
image
image
复制html来到漏洞处理器,粘贴到body

image

2.CSRF,其中令牌验证取决于请求方法
拦截更改邮箱请求

原post时,发现更改或者删除csrf参数都会失败
"Invalid CSRF token"
"Missing parameter 'csrf'"

于是更改请求方式
从post-get,系统不再验证csrf,成功
GET /my-account/change-email?email=11111111%40qq.com HTTP/2
上传poc到漏洞服务器

3.CSRF,其中令牌验证取决于csrf是否存在
拦截更改自己邮箱的请求
image
发现,修改csrf值会更改失败
email=11111111%40qq.com&csrf=11111
"Invalid CSRF token"
但是,删掉csrf可以更新成功,实现系统不验证csrf token
email=11111111%40qq.com

原理如下
if request.POST.get('csrf'):
# 只有当 csrf 参数存在时才验证
if request.POST['csrf'] != session['csrf_token']:
return error("Invalid CSRF token")
如果 csrf 参数不存在,直接执行后续操作(例如更改邮箱)
所以,删掉csrf,生成csrf poc
上传漏洞处理

posted on 2026-05-10 22:57  斯斯奇  阅读(19)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3