使用OWASP Zap的渗透测试发现了许多Path Traversal'漏洞'但要么报告都没有告诉我整个故事,要么它们对我来说似乎非常安全。例如:
URL: http://[xxxx]/News/GetContactsList/2
Parameter: Id
Attack: 2
" 2"是调用实体的id,因此我们的系统需要。很多地方显然使用了同样的东西,但这是Zap唯一抱怨的时间。它找到了一些例子,通常是用另一个整数替换2,或者在另一个参数中传递一个完全有效的字符串" PressContacts"。
在MVC中,这些都与int和一个int列表绑定在一起,据我所知,它已经过消毒。
我怎样才能确切地找出问题所在,或者告诉Zap它咆哮错误的树?我们有不同的MVC操作响应GET和POST,报告并不清楚它击中了哪一个。
如果我遗漏了一些非常明显的东西,请提前道歉。这是我第一次使用Zap,所以也许我完全误解了一些东西。答案 0 :(得分:0)
这实际上是一种非常常见的攻击形式,而ZAP是正确的。 URL中的整数ID易于更改且易于猜测,因为它很可能是顺序自动生成的数字。
假设用户A有权访问1到100的id范围,用户B可以访问id范围1到500。 用户A可以登录,只需将ID从100更改为300,即可访问他/她不应该看到的记录。
解决方案是使用非连续的唯一标识符,不容易猜到。最常见的方法是使用GUID而不是URL中的id。