内容字号:默认大号超大号

段落设置:段首缩进取消段首缩进

字体设置:切换到微软雅黑切换到宋体

如何防止SQL注入

2018-11-06 20:54 出处:清屏网 人气: 评论(0

题图:by from gary bunt

昨晚看见群里在讨论关于数据库安全以及关于 SQL 注入的问题,那就简单的说一下。

————

首先 SQL 注入是指有些不法分子或者黑客利用一些代码中的 SQL 漏洞来进行攻击,进取数据库进行篡改一些数据或者删除一些表中的业务重要数据,更有甚者直接把表和库直接删除。。

————

防止 SQL 注入,而黑客一般利用两种途径去进行攻击,一种是动态 SQL。比如系统中的用户登录认证: sring sql =“select * from t_user where username =‘ “username” ’+‘ “password” ' 。黑客经常用到的手段就是 1=1-- ,直接达到免密登录,进去数据库进行为所欲为的 updatedelete 、甚至 drop tabledrop database 等。

条件后面username=”or 1=1 用户名等于 ” 或1=1 那么这个条件一定会成功;然后后面加两个-,这意味着注释,它将后面的语句注释,让他们不起作用,这样语句永远都能正确执行,用户轻易骗过系统,获取合法身份。

如果在来点劲爆的,执行 DROP DATABASE (DB Name) --' and password='' 那后果就可能惨了,要比比特币勒索还要痛苦。

另外一种就是通过存储过程来进行攻击。找到存储过程当中的一些特殊的 SQL以及一些特殊符号,去转义符、分号、--符号等。

—————

这个时候就涉及到了数据库安全,如何保证并且有效防范数据库被别人攻击呢?

数据库安全包含两层:第一层是指系统运行安全,系统运行安全通常受到的威胁如下,一些网络不法分子通过网络,局域网等途径通过入侵电脑使系统无法正常启动,或超负荷让机子运行大量算法,并关闭cpu风扇,使cpu过热烧坏等破坏性活动; 第二层是指系统信息安全,系统安全通常受到的威胁如下,黑客对数据库入侵,并盗取想要的资料。数据库系统的安全特性主要是针对数据而言的,包括数据独立性、数据安全性、数据完整性、并发控制、故障恢复等几个方面。

1、数据库尽量不要裸奔在公网上。

一般数据库服务器,也就是装数据库的机器尽量不要装在公网机器上。公网机器很可能被SQL注入。危险性非常大。退一步讲,就算装在了公网机器上,也要进行防火墙设置,比如开白名单、入出站规则设置。去年的勒索病毒就是最好的案例。

2、应用系统配置文件加密

比如,一般的应用系统都会有配置文件webconfig,一般里面会涉及到链接数据库的字符串,如ip、端口、数据库名称、用户名、密码建议都进行加密。一般采用md5或base64去进行加密,但是这种方法太低级了。需要去用更难破解的手段去加密。其他行业我不太清楚、在医疗行业医院在三级等保时,配置文件各个应用系统配置文件必须要求是加密的。

3、操作系统层面的漏洞

操作系统也是有漏洞的,这个时候就必须要去打补丁,很重要。吃碗泡面,没调料我估计也好吃不到哪里去。

4、数据库的用户名和密码复杂程度

用root或者administrator密码123或者123456的这种都是在作死。

5、还要防止那种删库跑路的

一个rm-rf/*或者回收站就彻底凉凉了。『从删库到跑路』这本书在某宝上已经卖的很火了。开个玩笑,删库获刑的不少了,千万不可冲动。

分享给小伙伴们:
本文标签: SQL注入

相关文章

发表评论愿您的每句评论,都能给大家的生活添色彩,带来共鸣,带来思索,带来快乐。

CopyRight © 2015-2016 QingPingShan.com , All Rights Reserved.

清屏网 版权所有 豫ICP备15026204号