A1:2017 - 注入
漏洞描述:
将不受信任的数据作为命令或查询的一部分发送到解析器时,会产生诸如SQL注入、NoSQL注入、OS注入和LDAP注入的注入缺陷。攻击者的恶意数据可以诱使解析器在没有适当授权的情况下执行非预期命令或访问数据。
漏洞影响:
注入能导致数据丢失、破坏或泄露给无授权方,缺乏可审计性或是拒绝服务。注入有时甚至能导致主机被完全接管。
检测场景:
SQL注入:
数字型 若 and 1=1正常,and 1=2 异常,则存在注入点。
字符型 若 ‘and ‘1’=’1正常,‘and ‘1’=’2异常,则存在注入点。
OS注入:
尝试用 && 、|| 符号插入OS命令
预防思路:
1、(参数化)将数据与命令语句、查询语句分隔开来。选择是使用安全的API,完全避免使用解释器,或提供参数化界面的接口。
2、(输入过滤)使用白名单过滤或转义的方法过滤用户输入。