有哪些类型 如何预防 SQL 什么是 注入
分类
形容
基于失误的SQL注入
应用运行程序生成的SQL失误信息推断数据库结构。
联结查问SQL注入
经常使用UNION操作符将恶意查问与非法查问联结,失掉敏感数据。
盲注(Blind SQL Injection)
数据库失误信息不回显,攻打者经过布尔判别或期间提前来失掉数据。
基于期间的盲注
应用数据库照应期间的差异来推断数据库信息。
基于布尔的盲注
经过判别运行程序照应的布尔值(真/假)来推断数据。
内联注入(In-band SQL Injection)
经过运行程序的惯例通道(如页面输入)间接失掉数据。
重叠查问SQL注入
在一个SQL查问中口头多个SQL语句,用于绕过安保机制并口头恶意操作。
存储环节SQL注入
经过调用数据库的存储环节口头恶意代码,通常能取得初级权限。
二次注入(Second-order SQL Injection)
恶意代码在第一次性注入时未被触发,而在后续经常使用时被激活。
基于文件的SQL注入
注入恶意SQL代码以操作数据库中的文件(如读取或写入文件)。
基于HTTP头的SQL注入
攻打者将恶意SQL代码嵌入HTTP头(如User-Agent、Referer),从而注入到SQL查问中。
基于Cookie的SQL注入
恶意代码经过Cookie字段传递,运行程序未对Cookie启动适当的验证。
多字节字符SQL注入
应用字符集编码破绽,经过多字节字符结构出未预料的SQL注入。
XML查问注入(XXE)
攻打者在处置XML输入时注入恶意代码,以操控数据库查问。
日志注入
将恶意SQL代码写入运行程序日志文件,进而在日志剖析时触发SQL注入。
API接口SQL注入
针对Web API的输入字段启动SQL注入攻打,通常不足具体的失误信息,或许更难检测。
第三方插件或模块SQL注入
第三方插件、库或模块中存在SQL注入破绽,影响整个运行程序的安保性。
组合型SQL注入
结合多种注入形式,如基于失误注入与盲注结合,参与攻打完成的或许性。
跨数据库SQL注入
在多个不同数据库平台之间应用注入破绽,经过一种数据库的弱点入侵其他数据库。
远程代码口头(RCE)
应用SQL注入在数据库主机上口头恣意代码,或许造成系统齐全控制。
DNS注入
将SQL注入与DNS查问结合,造成数据外泄。