渗透测试步骤

(1)确定任何遵循Java命名约定(例如get、set、add、update、is或has后接大写单词)或明确指定包结构(如com.companyname.xxx.yyy.ClassName)的参数。记下所有你能够发现的被引用的方法。

(2)找到某个列举可用接口或方法的方法。在代理服务器历史记录中进行搜索,看应用程序的正常通信是否调用了该方法。如果该方法未被调用,则尝试使用观察到的命名约定猜测该方法。

(3)在公共资源(如搜索引擎和论坛站点)中查找,以确定任何其他可以访问的方法。

(4)使用第4章介绍的技巧猜测其他方法名称。

(5)尝试使用各种用户账户(包括未授权访问)访问收集到的所有方法。

(6)如果不知道某些方法需要的参数的数量或类型,可以寻找那些不大可能使用参数的方法,如listInterfaces和getAllUsersInRoles。

8.2.5 测试对静态资源的控制

如果受应用程序保护的静态资源最终可以通过指向资源文件本身的URL直接访问,这时你应该进行测试,以确定未授权用户是否可以直接请求这些URL。