渗透测试步骤

(1)如果要攻击ASP.NET应用程序,确定是否对ViewState启用了MAC保护。如果ViewState结构末尾存在一个20字节的散列,即表示应用程序启用了MAC保护。可以使用Burp Suite中的解析器确定上述散列是否存在。

(2)即使ViewState受到保护,还可以解码各种不同应用程序页面中的ViewState参数,了解应用程序是否使用ViewState通过客户端传送任何敏感数据。

(3)尝试修改ViewState中某个特殊参数的值,但不破坏它的结构,看看是否会导致错误消息。

(4)如果能够修改ViewState而不会造成错误,则应该分析ViewState中每个参数的功能,以及应用程序是否使用这些参数保存任何定制数据。尝试用专门设计的值代替每一个参数,探查常见的漏洞,就像检查通过客户端传送的其他数据项一样。

(5)注意,不同页面可能启用或禁用MAC保护,因此有必要测试应用程序的每一个重要页面,了解其中是否存在ViewState攻击漏洞。如果在启用被动扫描的情况下使用Burp Scanner, Burp将自动报告任何使用ViewState但未启用MAC保护的页面。