常见SQL注入漏洞的原理和防范

在日常WEB程序开发中,需要避免一些常见的漏洞和攻击,要防范这些漏洞和攻击就得先了解这些漏洞的原理和常见使用途径。从而在编程的过程中考虑到这些问题。下面我们NR来简单的和大家介绍下SQL注入漏洞的原理。

SQL注入;攻击者通过WEB表单,URL数据输入,插入恶意的SQL语句,并被服务器执行。

不同的数据库表有自己的语句,所以不同数据库注入语句会有点不同。

SQL注入类型;
1;数字型;and 1=1/ and 1=2 / OR 1=1/ or 1=2/ 1 like 1等等
2;字符型;and '1'='1 / and '1'='2/ or '1'='1 / 1' like '1/ 注释符合 等等


按返回信息;显示错误信息,显错注入。 和不显示错误信息,盲注。

SQL注入的形成;
1;数据与代码未严格分离。
2;用户提交的参数数据未充分检查过滤而直接执行。


SQL注入的作用;
1;绕过登录验证,直接登录系统后台。
2;获取WEB系统和数据库中敏感信息。
3;对文件系统操作,读取或写入文件或加入WEBSHELL木马。
4;对系统注册表进行读写删操作。
5;执行系统命令,远程执行命令。例如net use账户或开启3389桌面。
6;查询数据的库名称,表名,字段名,字段值,配置文件,操作系统版本等信息。

SQL注入出现位置
1;URL参数,HTTP包头中各种参数,搜索框登录框表单,一般和数据库有交互的地方。


SQL注入漏洞的判断
一般是对有操作数据库的URL去构造测试语句,如果登录了后台可以尝试的URL地址会更多。
http://blog.XXXXX.com/AA1.php?id=2  正常显示网页内容
http://blog.XXXXX.com/AA1.php?id=2 and 1=1  测试注入也正常显示网页内容

SQL注入会用到SQL语句 union ,该语句是用于合并多个SELECT语句结果集。



SQL注入的防范;在开发web程序时,特别是哪些需要访问数据库操作的程序时,要对用户提交的数据进行过滤。过滤可以从前端和后端两方都进行,另外关闭一些错误信息回显并及时做好数据备份。

本文由作者自行上传发布,文章仅代表作者个人观点。如需转载,务必声明出处和网址,否则保留相关权利。

网友评论 comments

发表评论

电子邮件地址不会被公开。必填项已用 *标注

暂无评论

牛人技术博客 | About US | 湘ICP备13000282号-8 |
Copyright © 2009 - 2019 NRJS Corporation, All Rights Reserved
添加图标到手机桌面
扫二维码
扫二维码
返回顶部