场景
- 攻击者链接到未验证的重定向并诱使受害者去点击
- 应用程序经常将用户重定向到其他网页, 或以类似的方式进行内部转发。有时,目标网页是通过一个未经验证的参数来指定的,这就允许攻击者选择目标页面
http://www.example.com/redirect.jsp?url=evil.com
http://www.example.com/boring.jsp?fwd=admin.jsp
解决方案
-
避免使用重定向和转发。
-
如果使用了重定向和转发,则不要在计算目标时涉及到用户参数。这通常容易做到。
-
如果使用目标参数无法避免,应确保其所提供的值对于当前用户是有效的,并已经授权。建议把这种目标的参数做成一个映射值,而不是真的URL或其中的一部分,然后由服务器端代码将映射值转换成目标URL。
网友评论