一、漏洞介绍
未对用户可控的带入数据库查询的参数进行严格的过滤、转义和限制,导致用户与数据库进行交互时,使用特殊命令进入数据库进行非法的增删改查等操作。
二、产生原因
数据与代码未严格分离。
未对用户提交的参数进行严格的过滤和限制,导致用户使用特殊命令带入到原有sql命令中,改变了原有命令语义,且成功被数据库执行。
三、产生条件
- 参数用户可控:前端传入后端的参数内容用户可控
- 带入数据库查询:使用特殊的sql语句可查询到后台数据库
四、漏洞危害
- 用户可对数据库进行非法的增删改查
- 读取敏感文件
- 写入webshell,获取权限
五、应用场景
带有数据传输的地方。
六、漏洞分类
1. 数据库类型
Access、Mysql、MSsql、Oracle、Postsql、Redis、Sqlite、Mongodb、DB2
2. 查询方式
2.1 select
$a=$_GET['a'];
select * from 表 where 字段='$a';
?a=值' []
联合注入、报错注入、堆叠注入、布尔/延时
2.2 insert
$a=$GET_['a'];
$b=$GET_['b'];
insert into 表(字段1,字段2) value('$a','$b');
?b=值' []
报错注入、堆叠注入
2.3 update
$a=$_GET['a'];
$b=$_GET['b'];
update 表 set 字段1='$a',字段2='$b' where 字段=值;
?b=值' []
报错注入、堆叠注入
2.4 delete
$a=$_GET['a'];
delete from a where 字段='$a';
报错注入、堆叠注入
标签:GET,数据库,堆叠,漏洞,字段,报错,sql,注入 来源: https://www.cnblogs.com/qhy8686/p/15472639.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。