渗透测试步骤

(1)确定任何可能包含主机名、IP地址或完整URL的请求参数。

(2)对于每个参数,修改参数值以指定其他与所请求的资源类似的资源,并观察该资源是否会出现在服务器的响应中。

(3)尝试指定一个针对你控制的因特网服务器的URL,并对该服务器进行监视,检查来自所测试的应用程序的传入连接。

(4)如果没有收到任何传入连接,则监视应用程序响应所花费的时间。如果存在延迟,则说明应用程序的后端请求可能由于出站连接上的网络限制导致超时。

(5)如果你成功利用相关功能连接到任意URL,则可以尝试实施以下攻击。

(a)确定是否可以指定端口号。例如,可以指定http://mdattacker.net:22。

(b)如果可以指定端口号,尝试使用Burp Intruder等工具对内部网络进行端口扫描,以逐个连接到一系列IP地址和端口(请参阅第14章了解详细信息)。

(c)尝试连接到应用程序服务器的回环地址上的其他服务。

(d)尝试将受控的Web页面加载到应用程序的响应中,以实施跨站点脚本攻击。

img001  注解  一些服务器端重定向API,如ASP.NET中的Server.Transfer()和Server.Execute(),仅可重定向到同一主机上的相关URL。尽管如此,攻击者仍然可以向这些方法传递用户提交的输入,以利用信任关系,并访问受平台级身份验证保护的服务器上的资源。