驱动管家:安全、高效、精准的专业驱动下载站!

sql注入漏洞、xss漏洞和猜测URL攻击的原因及防范方法

2018-03-08 12:00:38责编:llp   来源:驱动管家     人气:

互联网项目里边,SQL注入漏洞、XSS漏洞和猜测URL攻击这三个漏洞可谓历史悠久,然而直到今天还有人不断中枪,也真是微醺。

这几个漏洞说大也大,说小也小。说大是说这些漏洞危害大,会导致数据层面的安全问题;说小是从技术层面上讲都是未对外部输入做处理导致的,想要做针对性地防范很简单。下面简单看看这些漏洞的原因及防范方法。

SQL注入

SQL注入之所以存在,主要是因为工程师将外部的输入直接嵌入到将要执行的SQL语句中了。黑客可以利用这一点执行SQL指令来达到自己目的。举例来说,有一个接受参数为id的页面,在接收到id后从数据库中查询相应的数据, 其代码大致如下:

复制代码

代码如下:

stringSQL = "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注入中的例子来说,假设页面输出为:

复制代码

代码如下:

<%=>

这里我们可以在Request["ID"]里传入一段编码后的脚本,在最终输出的时候,就变成了一段可执行的javascript代码。

复制代码

代码如下:

这段代码获取到当前页面的cookie值,并将cookie值传递到另一个名为anothersite.com的网站。利用这种模式,黑客可以获取到用户的登录信息或者将用户跳转到钓鱼网站来达成自己的目的。

XSS攻击也可以简单分为两种,一种是上述例子中利用url引诱客户点击来实现;另一种是通过存储到数据库,在其它用户获取相关信息时来执行脚本。

防范XSS攻击需要在所有的字段都对输入的字符串进行html encode(或者在输出时进行encode)。如果需要使用富文本编辑的,可以考虑使用UBB。

猜测URL攻击

猜测URL攻击是通过已知的GET、POST参数来猜测未公开的参数并尝试进行攻击。

以Request["ID"]为例,如果ID为1是合法的可访问的数据,可以通过尝试ID=2,ID=3等一系列来尝试是否对其它资源有访问、修改权限。如果控制不当,则可以轻松获得并修改数据。

sql注入漏洞、xss漏洞和猜测URL攻击的原因及防范方法

要避免这种问题,方案一是使用较长的无规律的数字、字符来做为ID,增大猜测难度;对于需要登录的程序,可以判断用户身份是否有对应ID数据的访问、修改权限;如果ID已经是自增类型且不需要登录,可以用过在URL里增加无规律的校验字段来避免。

其它需要注意的地方

安全是一个系统工程。

要提高系统安全性,最首要的一点是不要相信任何输入!不要相信任何输入!不要相信任何输入!重要的事情说三遍。这里的输入除了URL里的GET参数、POST参数,还包括COOKIE、Header等可以进行修改的各类信息。

在程序设置方面,不输出客户不需要知道的各类信息,如原始的异常信息、异常附近的代码段等等,这样也能增加不少安全性。

最后,在测试或系统运行的过程中,可以使用类似appscan这样的安全检测工具来检查程序是否有漏洞。

  • 为了网络安全,redhat linux怎么设置防火墙?

    为了网络安全,redhat linux怎么设置防火墙?

    RedHat Linux下防火墙配置技巧RedHatLinux为增加系统安全性提供了防火墙保护。防火墙存在于你的计算机和网络之间,用来判定网络中的远程用户有权访问你的计算机上的哪些资源。一个正确配置的防火墙可以极大地增

    详情2018-01-15 19:00:06责编:llp   来源:驱动管家     
  • 不是以下载器为目的磁碟机病毒如何查杀?杜绝磁碟机病毒的方法

    不是以下载器为目的磁碟机病毒如何查杀?杜绝磁碟机病毒的方法

    电脑互联网的逐步递增趋势,导致现在的电脑病毒也开始飞速的发展起来,无疑这对我们的正常使用电脑是种不小的打击。而前几年出现的新型电脑磁盘机病毒,让很多使用电脑的用户头疼不以,那么针对这类的病毒要如何

    详情2018-01-29 11:00:31责编:llp   来源:驱动管家     
  • 破解rar密码有什么方法?可以使用rar password cracker软件破解rar密码

    破解rar密码有什么方法?可以使用rar password cracker软件破解rar密码

    当一个非常重要的RAR文件因为忘记密码无法解压缩时,你是不是就这样抛弃它了呢?当然不是,你可以使用RAR Password Cracker这个软将加密的RAR文件破解出来。安装后运行程序里的RAR Password Cracker Wizard

    详情2018-01-14 14:03:37责编:llp   来源:驱动管家     
  • 怎么入侵445 139端口?怎么保护自己的电脑关闭445 139端口?

    怎么入侵445 139端口?怎么保护自己的电脑关闭445 139端口?

    SMB(Server Message Block),Windows协议族,用于文件和打印共享服务。在Win9X NT中SMB基于NBT实现,NBT(NetBIOS over TCP IP)使用137, 138 (UDP) and 139 (TCP)来实现基于TCP IP的NETBIOS网际互联;而

    详情2018-01-19 18:57:35责编:llp   来源:驱动管家     
  • u盘写保护怎么设置?通过注册表设置u盘写保护

    u盘写保护怎么设置?通过注册表设置u盘写保护

    有时候处于保护电脑文件安全的需要,我们需要设置U盘写保护,只让通过U盘复制文件到电脑,而禁止复制电脑文件到U盘,这种情况下通过U盘写保护就是一项比较简单的方法。如何设置U盘写保护、开启U盘写保护呢?通过

    详情2018-01-29 11:00:37责编:llp   来源:驱动管家     
  • 保护你的隐私,grub密码怎么被md5加密?

    保护你的隐私,grub密码怎么被md5加密?

    GRUB——全称”Grand unified bootloader“的缩写,是GNU项目的一个启动加载包。在linux系统启动过程中,GRUB在MBR(主引导加载程序或主引导记录master boot record)之后启动,故又将GRUB称为次引导加载程序

    详情2018-01-30 16:39:48责编:llp   来源:驱动管家     
  • 利用winnt对象不靠cmd命令添加一个管理员的具体代码

    利用winnt对象不靠cmd命令添加一个管理员的具体代码

    在获得SA密码后,往往因为服务器管理者或”前人”将net exe和net1 exe被限制使用,无法添加管理员账号。我们知道VBS在活动目录(ADSI)部分有一个winnt对象,用来管理本地资源,利用它可以不依靠CMD等命令就能添加

    详情2018-02-13 11:07:12责编:llp   来源:驱动管家     
  • 路由器怎么设置才可以抵挡ddos攻击?

    路由器怎么设置才可以抵挡ddos攻击?

    一、路由器设置实现DDoS防御之DDoS攻击原理讨论在分布式“拒绝服务”(DDoS)的攻击过程中,一群恶意的主机或被恶意主机感染的主机将向受攻击的服务器发送大量的数据。在这种情况下,靠近网络边缘的网络节点将会

    详情2018-01-03 18:06:06责编:llp   来源:驱动管家     
  • 抵御ddos攻击需要做什么?怎么部署ddos攻击的防御方法?

    抵御ddos攻击需要做什么?怎么部署ddos攻击的防御方法?

    对于DDoS攻击来说并没有100%有效的防御手段。但是由于攻击者必须付出比防御者大得多的资源和努力才能拥有这样的“动力”,所以只要我们更好的了解DDoS攻击,积极部署防御措施,还是能够在很大程度上缓解和抵御这

    详情2018-03-02 09:02:08责编:llp   来源:驱动管家     
  • 局域网共享的安全防范技巧 保证局域网共享安全有哪些方法?

    局域网共享的安全防范技巧 保证局域网共享安全有哪些方法?

    随着网络的飞速发展,现在最热的话题自然就是网络安全了。在信息时代里,几乎每个人都面临着安全威胁,都有必要对网络安全方面的知识有所了解,并能够处理一些安全方面的问题,那些平时不注意安全的人,往往在付

    详情2018-01-20 18:00:31责编:llp   来源:驱动管家