扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
漏洞形成原因:用户输入的数据被SQL解释器执行。
在韶关等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供网站设计制作、网站制作 网站设计制作按需网站制作,公司网站建设,企业网站建设,品牌网站设计,成都营销网站建设,成都外贸网站制作,韶关网站建设费用合理。
数字型 & 字符型,不管注入类型如何,攻击者的目的只有一点,那就是绕过程序限制,使用户输入的数据带入数据库执行,利用数据库的特殊性获取更多的信息或者更大的权限。
举个例子:
(1)在页面URL后面输入:
user_id=1' and 1=1 order by 4 #
;
(2)加载页面,将url的参数传入后台,后台执行SQL语句为:
SELECT first_name, last_name FROM users WHERE user_id = '1' and 1=1 order by 4 #'
;
(3)根据SQL语法可知,
#
号将后续的引号注释了。
order by
是用来查询列数的,当字段数超过数据库的字段数,数据库就会返回错误信息,因此,可以利用
order by
来猜测数据库的字段数。因此,如果熟悉SQL语句,就可以进一步写入更多的语句,查询数据库,导致隐私数据泄漏。
常见利用数据库注入目的:
(1)查询数据
(2)读写文件
(3)执行命令
数据库并没有什么好的办法直接过滤SQL注入。只负责执行SQL语句,根据SQL语句来返回相关数据。
因此:防御SQL注入,还是得从代码入手。
根据SQL注入的分类,防御主要分为两种:
数据类型判断
和
特殊字符转义
。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流