跨站请求伪造(CSRF)
1.无防御措施的 CSRF 漏洞
诱导被攻击者点击链接,篡改邮箱
截获更新邮箱页面
获取csrfpoc


复制html来到漏洞处理器,粘贴到body

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是否存在
拦截更改自己邮箱的请求

发现,修改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
上传漏洞处理
浙公网安备 33010602011771号