橙子0012 发表于 2019-2-22 10:31:21

初识appscan

最近工作不是很多,花了2天时间学习appscan扫描工具。第一天了解了下工具的使用和原理,感觉使用起来还是很简单的。准备第二天学习一下各种配置。第二天早上来上班,领导说难点在于分析结果,让我找开发爸爸一起分析下,无奈开发们都很忙,自然不会理会我。只能自己研究了一波。研究了一些比较常见的安全漏洞,自我感觉还蛮OK。于是用公司的一个现成系统进行了测试,得到的结果,emmmmm,完全看不懂,开发们又很忙,看着这些扫描结果头很大啊~~~那不如整理整理这两天所学的理论知识吧。

Appscan是Web端安全测试工具,它只关心应用层的安全问题,也就是说产品开发好后才可以进入测试,相对来说,测试介入的时间偏晚。

工作原理

对web应用进行安全攻击来检查网站是否存在安全漏洞。攻击对象:每一个页面的每一个参数

确定入口url,通过这个入口url,利用爬虫技术,找到整个网站的所有url链接和页面参数,这时候所有的攻击对象已经确定;对页面参数挨个遍历扫描库中的“测试用例”,实际就是利用工具模拟黑客进行攻击,如实际结果与预期结果一致则判断为存在安全隐患。

真正实践中,"测试"阶段会频繁显示站点内的新链接和更多潜在安全风险。因此,完成"探索"和" 测试"的第一个"阶段"后,AppScan 将自动开始一个新的"阶段",以处理新的信息。

整个过程分为“扫描配置-探索-测试-扫描-结果分析”




工作模式

延伸出3种工作模式:完全扫描、仅探索、仅测试

仅探索:只找出所有的url和参数,暂时不进行测试;了解被测网站的结构及范围

仅测试:对之前探索出的参数执行“测试用例”,不对新发现的页面进行测试

全面扫描:探索+测试




相关配置

过滤冗余页面:
Url的地址一致,只是参数的值不一致,这时候就只需要测试一个有代表性的url即可,可以利用正则表达式过滤掉;

因为会进行多轮测试,因此会测试到相同的页面,所以需要设置最大冗余页面

扫描策略:
在进行安全测试之前,要清楚的知道自己关注的是什么安全问题,针对性的测试,如果有明确的安全指标或者安全规则范围,那么就选择安全类型即可。例如该系统只关注SQL注入类的安全隐患,可以只选择测试SQL注入类的安全问题。



Appscan扫描影响因素

网站大小(页面个数、参数个数)

扫描策略的选择

扫描配置




相关疑问

在学习的过程中,存在的一些疑问罗列下,最终通过查阅资料解决。

怎么判断是否是一个安全漏洞?

Appscan会有一个扫描规则库,类似于一批“测试用例”,按照测试用例进行攻击,将实际结果与预期结果进行比对,如一致则认为是一个安全漏洞。

安全漏洞的存在

页面中与用户的交互越多,安全隐患越高。


安全漏洞类型

Sql注入

攻击者先学习SQL查询结构,知道结构后利用结构篡改原sql语句,实现免密码登录或者直接绕过登录。

Sql盲注

通过猜测的方式得到数据库名称、表、字段和密码等,攻击力更大

跨域脚本攻击(XSS攻击)

重点在于脚本,就是在写入参数的时候加上一段完整的js代码或者是引用一个js文件,让浏览器去识别并执行它,可以得到cookies等信息。

已解密的登录请求

Appscan识别了不是通过ssl发送的登录请求

SSL安全登录:安全套接字层。一种加密通讯协议,作用是数据加密和身份认证。当选择“SSL安全登录”后登录网站,用户名和密码会首先加密,然后通过SSL连接在 Internet 上传送,没有人能够读取或访问到该连接传送的数据。

解决办法:使用ssl协议登录;还有一种方式是,前端使用md5对传输的数据进行加密。

不充分账号封锁

登录错误次数未限制

解决办法:限制登录错误次数限制,避免蛮力攻击。

Xpath注入

和sql注入类似原理,只是语言不同而已


专有名词

脆弱性

能够被攻击者利用的弱点,可以直接理解成“漏洞”


实际用公司开发出来的系统跑完,显示的安全性问题是这样的,无头绪,看不懂~~~再接再厉~~~





页: [1]
查看完整版本: 初识appscan