准备ASP.Net网站进行渗透测试

时间:2010-11-08 09:14:48

标签: asp.net penetration-testing

多年来,我已经为客户提供了一些我提交的用于渗透测试的网站。大多数情况下,结果返回时突出显示的问题与ASP .Net的默认行为有关,例如可能的跨站点脚本攻击等。

ASP .Net应用程序中是否有任何关于漏洞存在的好文章,其次是否有任何好的检查表可以帮助提前准备网站?

3 个答案:

答案 0 :(得分:17)

我认为核对清单随着时间的推移而变化,其理论与经验一起变化。我总是检查我的日志文件,看看他们试图渗透我网站的新方法 - 比如扫描“不存在的”文件,或者尝试运行随机查询。

有很多关于渗透的文章的好页面http://www.cgisecurity.com/pentest.html

尝试渗透到我的网站上的一些方法。

最常见的

  • sql injections ,所以我检查并阻止使用url行上的“select”命令调用我的网站的用户。我还检查了其他sql命令。
  • 忘记了javascript filebrowser 我最近看到他们搜索的链接如下:wwwmysite.com/plugins/editors/tinymce/jscripts/tiny_mce/plugins/tinybrowser/tinybrowser.php?type=file&folder =

要查找它们,我会监控“找不到页面”事件。当然,如果找到页面,那么它们会渗透。如何更有可能看到失败的尝试,看看他们在寻找什么。

Oracle攻击

这些天我也看到很多oracle攻击。我发现它们并使用以下代码阻止攻击者的完整IP:CryptographicException: Padding is invalid and cannot be removed and Validation of viewstate MAC failed

偷饼干

我也遵循这个问题的答案:Can some hacker steal the cookie from a user and login with that name on a web site?
要点:始终在登录cookie上使用ssl加密(requireSSL = true),而不是在cookie上放置角色(cacheRolesInCookies = false)。

阻止高级

我还在系统/程序/ iis中阻止黑名单ips,但过去我使用过PeerGuardian。在那里你可以找到许多可以阻止高级的错误的IP列表。关于这些糟糕的ips,我唯一的注意事项是我永远不会阻止它们,但只有几天。坏ips块也帮我收集了数百封垃圾邮件。 http://phoenixlabs.org/pg2/

调查日志

我认为人们可以通过多种方式思考并尝试渗透到您的网站上。重点是如何预测它们并在发生之前记录它们,并始终采用更好的机制来避免它们。正如我所说,我监控未找到的页面,以及页面抛出的内部错误。这两种方法向我展示了很多渗透尝试。

上传脚本。

如果您可以访问上传文件,图像和其他内容,请确保它们无法在上传目录中运行。这可以通过双重检查文件的扩展名来完成,也可以通过从服务器本身禁用该目录上的程序和脚本的运行来完成,也可以通过在上传目录中放置web.config:

<configuration>
    <system.web>
      <authorization>
        <deny users="*" />
      </authorization>
    </system.web>
</configuration>

阅读一个案例: I've been hacked. Evil aspx file uploaded called AspxSpy. They're still trying. Help me trap them‼

答案 1 :(得分:5)

不想用链接掩盖Aristos的好答案,但Google发布了一个代码库来展示可能的Web应用程序漏洞:它的(新的) - 被称为google-gruyere

它更像是了解可能的漏洞而不是核对清单的学习方法,但table of content可以帮助您完成核对清单。

以下是需要考虑的一些类别:

  • 跨站点脚本(XSS)
    • 文件上传XSS
    • 反映XSS
    • 存储XSS
    • 通过HTML属性存储XSS
    • 通过AJAX存储XSS
    • 通过AJAX反映XSS
  • 客户状态操作
    • 特权提升
    • Cookie操作
  • 跨站请求伪造(XSRF)
  • 跨站点脚本包含(XSSI)
  • 路径遍历
    • 通过路径遍历进行信息披露
    • 通过路径遍历进行数据篡改
  • 拒绝服务
    • DoS - 退出服务器
    • DoS - 重载服务器
  • 代码执行(远程)
  • 配置漏洞(信息泄露)
  • AJAX漏洞
    • 通过AJAX进行的DoS
    • 通过AJAX进行网上诱骗
  • 缓冲区溢出和整数溢出
  • SQL注入

答案 2 :(得分:5)

清单:

Web Application Security Guide/Checklist

此外,许多免费工具可用于测试Web应用程序安全性,您可以尝试这些:

  • Netsparker:Netsparker Community Edition是一个SQL注入扫描程序。
  • Websecurify
  • Watcher:Watcher是一个Fiddler插件,旨在帮助渗透测试人员被动地发现Web应用程序漏洞。
  • Wapiti:Web应用程序漏洞扫描程序/安全审核员
  • N-Stalker
  • skipfish:Skipfish是一种活跃的Web应用程序安全侦察工具。它通过执行递归爬网和基于字典的探针为目标站点准备交互式站点地图。然后使用来自许多活动(但希望无中断)安全检查的输出来注释生成的映射。该工具生成的最终报告旨在作为专业Web应用程序安全评估的基础。
  • Scrawlr
  • x5s:x5s是一个Fiddler插件,旨在帮助渗透测试人员找到跨站点脚本漏洞。它的主要目标是通过以下方式帮助您识别可能发生XSS的热点:1。检测安全编码未应用于发出的用户输入的位置。 2.检测Unicode字符转换可能绕过安全筛选器的位置。 3.检测非最短UTF-8编码可能绕过安全过滤器的位置
  • Exploit-Me:Exploit-Me是一套Firefox Web应用程序安全测试工具,旨在实现轻量级且易于使用。

Free Web Application Security Testing Tools