CSRF 认识
Posted 掌握在自己手中的才叫做命运
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CSRF 认识相关的知识,希望对你有一定的参考价值。
CSRF(Cross-site request forgery)跨站请求伪造,也被称为“One Click Attack”或者Session Riding,通常缩写为CSRF或者XSRF,是一种对网站的恶意利用。利用受害者尚未失效的身份认证信息(cookie,会话等),诱变点击恶意链接或者访问包含攻击代码的页面,在受害人不知情的情况下以受害者的身份向服务器发送请求,从而完成非法操作。
HTTP Referer: Referer 是 HTTP 请求header
的一部分,当浏览器(或者模拟浏览器行为)向web
服务器发送请求的时候,头信息里有包含 Referer 。Http协议头中的Referer主要用来让服务器判断来源页面, 即用户是从哪个页面来的,通常被网站用来统计用户来源,是从搜索页面来的,还是从其他网站链接过来,或是从书签等访问,以便网站合理定位.
类型:
1.GET请求。
验证时,直接在另一个浏览器上登录账户后访问URL即可。利用时,则将URL放在html标签中进行伪装。
POC构造:
<img src="url" border="0" style="display: none;"/>
<h1>404</h1>
<h2>file not found.</h2>
2.POST请求。
需要构造HTML表单。burp中可以直接构造也可以自己写
POC构造:
<!DOCTYPE html>
<html>
<body>
<form name="poc" action="" method="POST" type="hidden">
<input type="hidden" name="newEmail" value="xx"/>
<input type="submit" value="submit request" style="display: none;">
</form>
</body>
<script>
poc.submit();
</script>
</html>
基本绕过
(1).referer
(1).是否属于指定域
(2).指定关键字
(3)是否有指定域
(4)为空时
(2).token
防护
(1).验证码
(2)token :加密,随机令牌
(3)通过请求头判断请求是否与当前页面同源
以上是关于CSRF 认识的主要内容,如果未能解决你的问题,请参考以下文章