web渗透--48--堆栈轨迹测试

1、堆栈轨迹概述

堆栈轨迹本身并不具备脆弱性,但它们所泄露的信息对于攻击者来说往往具有很大的价值,攻击者会通过篡改web应用的HTTP请求或其他输入信息来引发堆栈轨迹信息的产生。

如果应用响应异常时产生的堆栈轨迹信息未被设定过,将会向攻击者泄露很多有用的信息,这些信息在后续的攻击中将产生非常大的帮助作用。如调试信息中可能包含的应用安全路径,或对象调用方式等应用内部运作信息。

2、测试方法

2.1 黑盒测试

有很多技术可以用于HTTP环境下引发异常信息。需要注意的是,虽然大多数情况下都会有HTTP页面显示异常信息,但异常也能作为SOAP的一部分或作为REST响应信息发送。

测试内容包括:
1、无效的输入(输入不符合应用中的逻辑)
2、输入中包含非数字和字母字符或查询语句
3、空白输入
4、过长的输入(输入长度超过应用所能接受的范围)
5、未经认证登录内部页面
6、旁路应用程序流

以上所有的测试引起的应用异常都可能会包含堆栈轨迹信息,可以使用模糊测试进一步检查。

2.2 灰盒测试

查看代码中将异常改写为字符串或输出流的调用。如下面这条JSP代码:

<% e.printStackTrace( new PrintWriter( out ) ) >

在某些情况下,堆栈轨迹信息会被指定为HTML格式,因此,请谨慎对待堆栈轨迹元素。

检查配置信息,查看异常处理配置内容和默认报错页面的使用情况。例如在Java环境下可在web.xml文件中查看配置。

你可能感兴趣的:(web渗透)