互联网项目里边,SQL注入漏洞、XSS漏洞和猜测URL攻击这三个漏洞可谓历史悠久,然而直到今天还有人不断中枪,也真是微醺。
这几个漏洞说大也大,说小也小。说大是说这些漏洞危害大,会导致数据层面的安全问题;说小是从技术层面上讲都是未对外部输入做处理导致的,想要做针对性地防范很简单。下面简单看看这些漏洞的原因及防范 *** 。
SQL注入
SQL注入之所以存在,主要是因为工程师将外部的输入直接嵌入到将要执行的SQL语句中了。黑客可以利用这一点执行SQL指令来达到自己目的。举例来说,有一个接受参数为id的页面,在接收到id后从数据库中查询相应的数据, 其代码大致如下:
复制代码代码如下:
string SQL = "SELECT * FROM [User] WHERE ID=" + Request["ID"];
正常情况下,Request["ID"]为数字,这条SQL能很好地工作。如果我们认为修改Request["ID"],将其内容修改为?ID=1 OR 1=1 我们将得到这样一条SQL:
复制代码代码如下:
SELECT * FROM [User] WHERE ID=1 OR 1=1
因为有OR的出现这条SQL语句已经可以获取User表中的任意信息。利用SQL注入漏洞,我们能够获取想要的信息,同时可以通过猜测-报错获取到数据库其它表的结构和信息,如果数据库、服务器权限设置不当,甚至有可能能获取到整个服务器的控制权限。
规避这种漏洞有很多种办法,以现代的编程语言来说,选择一个合适的ORM框架可以减少不少问题而且能大大提高开发效率。
如果因为某些原因需要继续写SQL语句,参数化查询也能解决这一问题。
对于需要拼接SQL语句的程序来说,注意两点也可以避免此问题。之一点是如果查询的字段类型是数字等类型,在拼接SQL前先判断输入是不是一个合法的数字,不合法则终止程序即可。第二点是如果字段类型是字符串,则记得将输入里的的单引号进行转义。
XSS攻击
如果说SQL注入是直接在SQL里执行了用户输入,那XSS攻击是在HTML里代码执行了用户输入。相对SQL注入,XSS似乎更能引起人关注。几年前新浪微博被人利用XSS获取大量粉丝;3DM也曾经被植入script代码对另一个游戏网站进行了惨无人道的DDOS攻击。
这里还是用SQL注入中的例子来说,假设页面输出为:
各人在选择加盟项目标时候,首先城市思量一下楼兰甜言加盟项目标成长前景怎么样,假如说你也对楼兰甜言加盟项目感乐趣的话,想要知道楼兰甜言问题的谜底的话,那么我们此刻就一起来看看吧。楼兰甜言前景好吗?加盟怎...
大家知道,病人属性,是需要适合的血型的,在电视中,经常会有亲人为病人属性,而实际上这是不可取的,支付宝蚂蚁庄园今天的问题就是和这个有关,为什么不提倡直系亲属间直接输血?9月29日蚂蚁庄园每日一题的答案...
这位老板开着劳斯莱斯幻影送外卖,这外卖的待遇也真的是够高了,都有专车劳斯莱斯护送。而之前有位送包子的车主,开的是兰博基尼。车主说:开兰博基尼送包子,主要是想告诉顾客,自己不会因为多挣点卖包子的钱就用不...
买车买起亚K5好不好?听起亚K5车主说完,后悔买错了车 社会的发展进步,我们很多人都买车代步了,而买车大家都是买什么车呢?大家也都知道,现在的车性价比方面都是差不错的,那么什么车更好呢?其实很多人都...
在搜索引擎优化事情中,搜索引擎优化人员常常传闻加权域名,这在搜索引擎优化人员中很风行,加权域名的销售已经成为一个财富链。那么加权域名对搜索引擎优化有什么影响呢? 子晨,将通过以下内容与您接头: 什么...
我们绝大多数的人可能都需要查看QQ聊天记录,因为这样既方便查看之前的重要消息,也能让我们清楚的知道上一次话题结束的内容,但是如果我们无意删除了这些数据,你知道如何恢复QQ聊天记录么?今天小编以红米No...