csrf跨站请求伪造

csrf跨站请求伪造

强制终端客户在当前对其进行身份验证后的web应用程序上执行非本意的操作。

着重点在于伪造更改状态的请求,而不是盗取数据,因为攻击者无法查看对伪造消息的响应,如转移资金,更改受害者Ip地址等

重定向302->csrf

csrf是一种欺骗受害者提交恶意请求的攻击。

他继承者受害者的身份和特权,代表受害者执行非本意,恶意的行为.

对于大部分站点来说,浏览器请求自动发送与站点关联的所有凭证,例如用户的会话cookie,ip地址,windows域凭证等。

因此对于已对站点进行身份验证,服务器则无法区别受害者发送的伪造请求和合法请求

如一个受害者登录一网上银行网站,后又登录一钓鱼网站,表名为点击即送屠龙宝刀,但内含get或post的转账操作,导致代表受害者执行了非本意的转账操作且受害者毫无察觉。

csrf触发方式

1.<a href=''转账操作'>诱惑信息</a>

2.<img scr='http://172.16.132.161/bank/action.php?username=hacker&money=1000&submit=submit' 'alt=宝刀在手,天下我有'> get方式下

也可通过post表单方式

<from name='csrf' action='172.16.132.161/bank/action.php' method='post'>

<input type='hidden' name='username' value='hacker'>

<input type='hidden' name='money' value='1000'>

</form>

<script>document.csrf.submit()</script>//提交

也可配合xss存储形在留言板中插入xss与csrf联合攻击,添加管理员等一系列功能

对于csrf的防御

无效防御

1.使用秘密cookie

2.仅使用post请求

3.多步交易

4.url重写

5.https

虽然https不能抵抗csrf,但HTTPS应视为任何预防措施的先决条件。

有效防御

1.验证referer字段

但由于referer支持客户端自定义,不可完全相信

2.添加token验证

3.二次验证

4.用户养成良好习惯

 

posted @ 2020-08-15 21:18  LY2333  阅读(145)  评论(0编辑  收藏  举报