多年来,我有一些我开发的网站提交给客户进行渗透测试.大多数情况下,结果返回时突出显示的问题与ASP .Net的默认行为有关,例如可能的跨站点脚本攻击等.
是否有任何关于ASP .Net应用程序中默认存在哪些漏洞的好文章,其次是否有任何好的检查表可以帮助提前准备一个站点?
我认为核对清单随时间变化,其理论与经验一起变化.我总是检查我的日志文件,看看他们试图渗透我网站的新方法 - 比如扫描"不存在的"文件,或尝试运行随机查询.
这是一篇很好的页面,有很多关于渗透的文章:http: //www.cgisecurity.com/pentest.html
尝试渗透到我的网站的一些方法.
sql注入,所以我检查并阻止用url行上的"select"命令调用我的网站的用户.我还检查了其他sql命令.
忘了javascript filebrowser我看到他们最近搜索的链接如下:wwwmysite.com/plugins/editors/tinymce/jscripts/tiny_mce/plugins/tinybrowser/tinybrowser.php?type=file&folder=
为了找到它们,我监视"找不到页面"事件.当然,如果找到页面,那么它们会渗透.如何更有可能看到失败的尝试并看到他们正在寻找什么.
这些天我也看到了很多甲骨文攻击.我找到它们并使用此代码阻止攻击者的完整IP:CryptographicException:填充无效且无法删除并且视图状态MAC验证失败
我也遵循这个问题的答案:一些黑客是否可以从用户那里窃取cookie并在网站上使用该名称登录?
要点:始终在登录cookie上使用ssl加密(requireSSL = true),而不是在cookie上放置角色(cacheRolesInCookies = false).
我还阻止系统/程序/ iis内部列出黑名单的ips,但过去我使用过PeerGuardian.在那里你可以找到许多可以阻止高级的错误的IP列表.关于这些糟糕的ips,我唯一的注意事项是我永远不会阻止它们,但只有几天.坏ips块也帮我收集了数百封垃圾邮件. http://phoenixlabs.org/pg2/
我认为人们可以通过多种方式思考并尝试渗透到您的网站上.重点是如何预测它们并在发生之前记录它们,并始终采用更好的机制来避免它们.正如我所说,我监视未找到的页面,以及页面抛出的内部错误.这两种方法向我展示了很多渗透尝试.
如果您可以访问上传文件,图像和其他内容,请确保它们无法在上传目录中运行.这可以通过双重检查文件的扩展名来完成,也可以通过从服务器本身禁用该目录上的程序和脚本的运行来完成,也可以通过在上传目录中放置web.config来实现:
读一个案例: 我被黑了.上传的Evil aspx文件名为AspxSpy.他们还在努力.帮我陷阱吧!
清单:
Web应用程序安全指南/清单
此外,许多免费工具可用于测试Web应用程序安全性,您可以尝试以下方法:
Netsparker:Netsparker Community Edition是一个SQL注入扫描程序.
Websecurify
Watcher:Watcher是一个Fiddler插件,旨在帮助渗透测试人员被动地发现Web应用程序漏洞.
Wapiti:Web应用程序漏洞扫描程序/安全审计员
N-二潜行者
skipfish:Skipfish是一种活跃的Web应用程序安全侦察工具.它通过执行递归爬网和基于字典的探针为目标站点准备交互式站点地图.然后使用来自许多活动(但希望无中断)安全检查的输出来注释生成的映射.该工具生成的最终报告旨在作为专业Web应用程序安全评估的基础.
Scrawlr
x5s:x5s是一个Fiddler插件,旨在帮助渗透测试人员找到跨站点脚本漏洞.它的主要目标是通过以下方式帮助您识别可能发生XSS的热点:1.检测安全编码未应用于发出的用户输入的位置.2.检测Unicode字符转换可能绕过安全筛选器的位置.3.检测非最短UTF-8编码可能绕过安全过滤器的位置
Exploit-Me:Exploit-Me是一套Firefox Web应用程序安全测试工具,旨在实现轻量级且易于使用.
免费的Web应用安全测试工具
不想用链接来掩盖Aristos的好答案,但Google发布了一个代码库来展示可能的Web应用程序漏洞:它(新的) - 称为google-gruyere.
它更像是一种了解可能的漏洞而不是清单的学习方式,但内容表可以帮助您完成清单.
以下是一些需要考虑的类别:
跨站点脚本(XSS)
文件上传XSS
反映XSS
存储XSS
通过HTML属性存储XSS
通过AJAX存储XSS
通过AJAX反映XSS
客户状态操作
特权提升
Cookie操作
跨站请求伪造(XSRF)
跨站点脚本包含(XSSI)
路径遍历
通过路径遍历进行信息披露
通过路径遍历进行数据篡改
拒绝服务
DoS - 退出服务器
DoS - 重载服务器
代码执行(远程)
配置漏洞(信息泄露)
AJAX漏洞
DoS通过AJAX
通过AJAX进行网络钓鱼
缓冲区溢出和整数溢出
SQL注入