互联网项目里边,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注入中的例子来说,假设页面输出为:
根据美国法律,2021年1月20日中午将完成总统权力交接。而到目前为止,特朗普团队及支持者仍然以部分选票合法性、计票程序等多种理由在多个州提起诉讼。 当地时间23日,美国宾夕法尼亚州最高法院...
本文导读目录: 1、微信帐号和密码可免费的 2、盗微信软件黑客密码是真的吗 3、最新免费微信号带密码 4、常见的免费的黑客网站有什么? 5、求免费的微信号和密码要能登上去的多谢?...
本文目录一览: 1、大学的学生宿舍是怎么布置的 2、学生宿舍怎么装饰好看 3、大学生单人间宿舍如何布置显得温馨? 4、如何装饰寝室,能显得温馨而与众不同? 5、大学宿舍能精致到什么样?...
花钱查微信聊天记录是真的吗(600米就能查微信聊天记录)前几天小编的一位朋友在网上被人骗了,去年10月份她的一个朋友给她发过一个治病的偏方,当时没有用纸记录下来,不小心给删除了。因为暂时用不到也没有让...
9月4日,2018 ISC互联网安全大会(原“中国互联网安全大会”)在北京国家会议中心隆重开幕。 工业和信息化部副部长陈肇雄、中央网信办总工程师赵泽良、公安部网络安全保卫局总工程师郭启全...
本文导读目录: 1、黑客帝国4为什么尼奥不会飞 2、尼欧在黑客帝国2中为什么那么神通广大,还会飞 3、黑客帝国中尼奥在现实世界中为什么有超能力 4、黑客帝国neo为什么会飞 5、尼奥为...