
安全检测的一些心得
时间:2016-08-17 作者:zhankehua 评论:0 点击:2763 次
在以往的工作中,通过跟同行交流,感觉好多开发工程师包含信息安全测试人员都看不起做安全测试的。说测试人员就是拿个工具扫扫漏洞,出出报告嘛,没有什么技术含量。听到这种论断,安全工程师们,你们是什么想法?安全测试真的就那么简单吗?我看不尽然。那我就来谈谈我的安全测试经验吧。
我认为安全测试是一个系统、细致,同时是一个非常具有挑战性的工作。安全测试并不是说拿个工具扫描一下就好了,实际上有很多工作要做(作为一个负责任的安全工程师来说)。我的安全测试流程(只针对应用测试,不包含环境)如下:
1、信息收集
作为安全测试的第一步,首先要了解信息系统的概况例如:编程语言、数据库类型、FLASH、第三方插件(编程器、控件等)、系统功能、业务类型等信息。为后期的扫描策略的制定做准备。
2、工具扫描:
有了以上的基础,我们需要先进行工具扫描。要想准确而高效的使用工具进行漏洞扫描,需要制定好一系列的漏洞扫描方案。当然了,漏洞扫描不能只使用一种扫描工具,需要多个工具配合使用,因为每个工具都有它自身的特点。我使用的工具主要是OWASP ZAP、AppScan、Acunetix、burp suite、sqlmap、OWASP-CSRFTester。
1)首先我通过OWASP ZAP的爬虫功能抓取网站的URL,了解系统的规模。为什么要合适OWASP ZAP呢?因为它是轻型的,使用起来速度很快,它的抓取能力不毋庸置疑。那么,抓取后分析什么呢?看看我实际工作中的分析。
通过owasp zap的爬虫对网站的抓取(速度很快哦),我们了解到网站的URI约为7533个,同时我们还发现好多网页内容结构是重复的,例如上面的a2016文件夹下的.html文件。了解到以上信息,再加上前期的信息收信。为下面使用appscan扫描策略的制定做好了准备。
2)接下来就是使用AppScan进行漏洞扫描,AppScan的详细使用方法在这里就不多作说明,网上资料多的是。这里主要讲述一下如何根据以上的信息进行扫描策略的配置。
配置环境
排除和保留路径
测试策略配置—依据严重性删除参考信息项的扫描策略(为了提高扫描速度)
测试策略配置—删除非网站语言的漏洞(此处为示例,依据实际情况自己确定使用哪些策略)
我个人的习惯是再使用Acunetix工具对系统做漏洞扫描,主要是为了验证和补充。因为不同的扫描工具,扫描出来的漏洞是不一样的。
3)接着对扫描了的漏洞进行验证,为什么要验证呢?一是因为扫描工具扫描出的漏洞有可能是误报,另一方面是为自己的系统做检测要求要准确,方便开发人员修复。我在验证中主要是使用burp suit,firefox中的一些插件。比如说会话定置漏洞的验证。
Ø 先以普通用户登录系统
获取此用户的sessionid,为
Ø 其次,在另一台电脑上使用此sessionid访问网站并以admin登录
Ø 最后在刷新以普通用户登录的网站,结果是显示的admin用户的菜单列表:
当然了,还有好多验证方法,可以使用工具,手工,在这里就不中国啰嗦了。
3、手工检测
在工具扫描的基础上进行手工检测,主要是检测系统无法扫描的漏洞,例如逻辑漏洞、不安全的对象引用漏洞、还有就是因使用ajax导致工具无法检测的漏洞,可进行手工检测是否存在SQL注入,跨站等漏洞。
检测依据是OWASP TO 10
A1 注入:SQL注入,LDAP注入
A2 失效的身份认证和会话管理:暴露的账户、密码、会话ID等,从退出、密码管理、超时、记住我、秘密问题、账户更新等方面找出漏洞。会话ID在URL中,会话ID受到会话固定的攻击,没有超时限制,用户会话或身份验证令牌用于注销时没有失效。成功注册后,会话ID没有轮转。
A3 跨站脚本编制
A4 不安全的直接对象引用
A5 安全配置错误
A6 敏感信息泄漏
A7 功能级访问控制缺失:是否存在未授权的导航,服务器端的身份认证或授权功能是否完善,服务器检查是否仅仅依赖攻击者提供的信息?
A8 跨站请求伪造
4、编写报告
最后,将以上检测结果进行总结汇报。
结束语
个人认为,安全检测并不是那么简单,需要有相当的开发经验和安全经验的人,才能做好检测。以上只是我个人心得,望大神指正。
本文标签: 安全检测,
转载请注明出处: http://www.itsec365.cn/?id=9
- 上一篇:MSSQL手工注入整理(摘抄)
- 下一篇:OWASP ZAP调用nmap
已有 2763 位网友参与,快来吐槽:
发表评论