前言:目前自动化检测WEB漏洞的方法有三种,SAST(静态应用安全测试),DAST(动态应用安全测试),IAST(交互式安全检测)
<!–more–>
一.SAST(静态应用安全测试)
应用程序源码以及提前发现的漏洞,进行静态逆向分析,主要体验为代码审计系统.
PHP代码商家话的SAST的产品有: RIPS/CheckMax
![RIPS][1]
代码审计本质是在误报率发现率寻找平衡点
二.DAST(动态应用安全测试)
对应用程序进行黑盒分析,在测试阶段通过模拟黑客行为对程序进行动态攻击,分析应用程序的反应,从未确定是否存在漏洞. [网站爬虫- URL参数搜集-模拟攻击-相应包分析-告警展示]
商业产品: AWV/APPSCAN/XRAY [动态发送payload检测率较高]
二.IAST(交互式应用安全测试)
结合动静态检测,漏洞检测率高,误报率极低,同时可以定位到API和代码片段.
商业产品:OpenRASP-IAST
RASP和IAST的区别.一个是防御拦截. 一个是安全测试.都是相同技术.
三.防御SQL注入的方法:
白名单,参数化查询,WAF,RASP
白名单:如果参数是固定整数值,那么就只允许接收整数.
参数化查询: 预编译查询,将输入数据插入到SQL的参数重防止被房租哦SQL语句去执行,从而防止SQL注入.
参数化设置注意:
1.)每个数据库查询中都是用参数化查询,避免被二次注入
2.)插入查询中的每一个输入参数都进行参数化查询,避免部分参数被注入
3.)参数名不能使用指定查询中的表和字段名,避免被误操作
WAF:
能够挡住大部分攻击,安全本身就是为了不断提高攻击成本,并不能完全彻底的解决入侵问题.
阿里云WAF>腾讯WAF>华为云WAF>长亭
RASP:
是当前安全领域的局势,国内都在做,核心技术是公用的.只需要在对应的漏洞触发函数进行HOOK检测.
能够快速找出触发漏洞的上下文,快速定位漏洞代码,并实现检测,告警和阻断.