渗透测试步骤

(1)确定应用程序中使用重定向的所有位置。

(2)要确定所有重定向,一个有效的方法,是使用拦截代理服务器浏览应用程序,并监控访问页面的请求(与其他资源,如图像、样式表、脚本文件等不同)。

(3)如果一个导航操作导致了几个连续请求,应分析它使用什么方法进行重定向。

绝大多数的重定向都不受用户控制。例如,在典型的登录机制中,向/login.jsp提交有效的证书将返回一个指向/myhome.jsp的HTTP重定向。这时,重定向的目标始终相同,因此不会受到任何重定向漏洞的影响。

但是,在有些情况下,用户提交的数据以某种方式用于设置重定向的目标。一个常见的例子是,应用程序强制使会话已经终止的用户返回登录页面,然后在用户重新成功通过验证后将他们重定向到最初的URL。如果遇到这种行为,就表明应用程序可能易于受到重定向攻击,因此,应当对这种行为进行深入分析,以确定它是否可被攻击者利用。