多年来,我已经为客户提供了一些我提交的用于渗透测试的网站。大多数情况下,结果返回时突出显示的问题与ASP .Net的默认行为有关,例如可能的跨站点脚本攻击等。
ASP .Net应用程序中是否有任何关于漏洞存在的好文章,其次是否有任何好的检查表可以帮助提前准备网站?
答案 0 :(得分:17)
我认为核对清单随着时间的推移而变化,其理论与经验一起变化。我总是检查我的日志文件,看看他们试图渗透我网站的新方法 - 比如扫描“不存在的”文件,或者尝试运行随机查询。
有很多关于渗透的文章的好页面: http://www.cgisecurity.com/pentest.html
尝试渗透到我的网站上的一些方法。
要查找它们,我会监控“找不到页面”事件。当然,如果找到页面,那么它们会渗透。如何更有可能看到失败的尝试,看看他们在寻找什么。
这些天我也看到很多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可以帮助您完成核对清单。
以下是需要考虑的一些类别:
答案 2 :(得分:5)
清单:
Web Application Security Guide/Checklist
此外,许多免费工具可用于测试Web应用程序安全性,您可以尝试这些: