我正在用w3af审核我的网站.
它说它在我的网站上发现了几个问题,但我怀疑情况确实如此.
其中一个问题是:
URL:http:// localhost/en/login容易受到跨站点请求伪造.它允许攻击者在将数据发送到服务器时将方法从POST交换到GET.
我很确定它不容易受到csrf攻击,因为我在我的表单中使用了crsf保护(带有令牌的字段被检查).
所以我想知道这条消息是关于什么的:
它允许攻击者在将数据发送到服务器时将方法从POST交换到GET.
我不在乎攻击者是否可以切换POST到GET或做到我?
如果我能这样做,请解释我为什么这样做?怎么被利用?
从没有 w3af 经验的角度来看,我认为它写入了一些非常基本的规则,它会检查这些规则并报告它们。
在这种情况下,它可能会检查您是否使用了$_REQUESTor $_POST,$_GET然后如果发现它则报告错误,无论您为确保这一点所做的努力如何。
每个人的编码方式都不同,因此让软件理解代码的上下文将是一项惊人的成就,并且可能超出了这个软件的智能范围。这并不是对软件的攻击,但说实话,如果我想出了一些可以理解别人代码的上下文和意图的程序,我不会在 sourceforge 上泄露它:p
有关系吗?也许取决于您对网站的保护程度(请参阅上面 Marc B 的 (+1) 评论)。
- 编辑 -
通过使用$_REQUEST而不是指定$_POST,否则$_GET您将面临容易被关闭的攻击区域。不仅如此,$_REQUEST还包括$_COOKIE。这已经在这里进行了介绍,而不是我复制别人的答案。