技术开发 频道

Web安全渗透测试之信息搜集篇

  在Global.asax中处理错误

  当发生错误的时候,就会调用Application_Error,所以开发人员可以在此编写用于错误处理/页面重定向代码。

  Private Sub Application_Error (ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Error

  End Sub

  在Page_Error sub中处理错误信息

  这与应用程序错误非常类似:

  Private Sub Page_Error (ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Error

  End Sub

  在ASP .net中的错误层次结构

  首先,处理Page_Error sub,然后是global.asax的Application_Error sub,最后是web.config文件中的customErrors部分。

  在对带有服务器端技术的Web应用程序进行信息搜集是很困难的,不过发现的信息对正确执行下一步的测试十分有用,例如接下来要使用sql注入攻击或者跨站脚本攻击攻击进行测试等,同时还能降低误报率。

  如何对ASP.net和IIS的错误处理进行测试

  启动浏览器然后输入一个随机的页面名称:

  http:\\www.mywebserver.com\anyrandomname.asp

  如果服务器返回下列内容:

  The page cannot be found

  HTTP 404 - File not found

  Internet Information Services

  这表明,IIS没有配置定制的错误功能。请注意扩展名.asp,还要针对.net定制的错误进行测试:在浏览器中输入一个随机的页面名称,只要扩展名为aspx即可:

  http:\\www.mywebserver.com\anyrandomname.aspx

  如果服务器返回下列内容:

  Server Error in '/' Application.

  --------------------------------------------------------------------------------

  The resource cannot be found.

  Description: HTTP 404. The resource you are looking for (or one of its dependencies)

  could have been removed, had its name changed, or is temporarily unavailable.

  Please review the following URL and make sure that it is spelled correctly.

  这说明没有为.net配置定制的错误消息。

  下面我们介绍相应的黑盒子测试及实例:

  测试方法:

  telnet 80

  GET / HTTP/1.1

  返回的结果:

  HTTP/1.1 404 Not Found

  Date: Sat, 04 Nov 2006 15:26:48 GMT

  Server: Apache/2.2.3 (Unix) mod_ssl/2.2.3 OpenSSL/0.9.7g

  Content-Length: 310

  Connection: close

  Content-Type: text/html; charset=iso-8859-1

  测试方法:

  1. 网络问题

  2. 有关主机数据库地址的不当配置

  返回的结果:

  Microsoft OLE DB Provider for ODBC Drivers (0x80004005) '

  [MySQL][ODBC 3.51 Driver]Unknown MySQL server host

  小结

  当我们进行安全渗透测试的时候,首先要做的就是尽可能多地收集目标应用程序信息,所以,信息搜集是渗透测试一个必不可少的步骤。本文详细介绍了如何测试目标地址上运行了哪些应用程序,以及如何通过错误信息提前有用消息的具体方法。

0
相关文章