智造喵GPT地址: https://chat.plexpt.com/i/511440
Appscan是Web端安全测试工具,它只关心应用层的安全问题,也就是说产品开发好后才可以进入测试,相对来说,测试介入的时间偏晚。
工作原理: 1.对web应用进行安全攻击来检查网站是否存在安全漏洞。攻击对象:每一个页面的每一个参数 2.确定入口url,通过这个入口url,利用爬虫技术,找到整个网站的所有url链接和页面参数,这时候所有的攻击对象已经确定; 3.对页面参数挨个遍历扫描库中的“测试用例”,实际就是利用工具模拟黑客进行攻击, 如实际结果与预期结果一致则判断为存在安全隐患。
工作模式: 延伸出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注入类似原理,只是语言不同而已
专有名词: 脆弱性:能够被攻击者利用的弱点,可以直接理解成“漏洞”
AppScan 使用步骤:计划(Plan)、执行(Do)、检查(check)、分析(Analysis and Action) 1.在计划阶段:明确目的,进行策略性的选择和任务分解。 1.1明确目的:选择合适的扫描策略 1.2了解对象:首先进行探索,了解网站结构和规模 1.3确定策略:进行对应的配置 1.4按照目录进行扫描任务的分解 1.5按照扫描策略进行扫描任务的分解 2执行阶段:一边扫描一遍观察 2.1进行扫描 2.2先爬后扫(继续仅测试) 3检查阶段(Check) 3.1检查和调整配置 4结果分析(Analysis) 4.1对比结果 4.2汇总结果(整合和过滤)