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

websql安全风险详析 websql攻击的防御之道

2018-02-08 09:37:00责编:llp   来源:驱动管家     人气:

一、WebSQL安全风险简介

数据库安全一直是后端人员广泛关注和需要预防的问题。但是自从HTML5引入本地数据库和WebSQL之后,前端开发对于数据库的安全也必须要有所了解和警惕。WebSQL的安全问题通常表现为两个部分:

第一种是SQL注入:和本地数据库一样,攻击者可以通过SQL注入点来进行数据库攻击。

另外一方面,如果Web App有XSS漏洞,那么本地数据很容易泄漏,可以想想本地数据库里存储了用户最近交易记录或者私信的情况。

二、WebSQL安全风险详析

1、SQL注入

例如我们有一个URL为http:/blog.csdn.net/hfahe?id=1,它接收了一个id参数来进行本地数据库查询并输出,对应的SQL语句为“select name from user where id = 1”。

websql安全风险详析 websql攻击的防御之道

但是针对这个简单的SQL查询,攻击者可以构造一个虚假的输入数据“1 or 1 = 1”,那么我们的SQL语句将变为“select name from user where id = 1 or 1 = 1”。这就相当糟糕了,因为1=1这个条件总是成立的,那么这条语句将遍历数据库user表里的所有记录并进行输出。

websql安全风险详析 websql攻击的防御之道

利用这种方式,攻击者可以构造多种攻击的SQL语句,来操纵用户的本地数据库记录。

2、XSS与数据库操纵

在有XSS漏洞的情况下,攻击者获取本地数据需要如下几个步骤:

1)获取JavaScript数据库对象

2)获取SQLite上的表结构

3)获取数据表名

4)操作数据

例如如下脚本完整的实现了上面的步骤,我在Chrome控制台里运行即可得到用户本地数据库的表名,利用这个表名攻击者可以用任何SQL语句来完成攻击。

websql安全风险详析 websql攻击的防御之道

三、防御之道

针对WebSQL攻击,我们有如下方法预防:

1) 检查输入类型,过滤危险字符

我们需要保证输入类型符合预期,例如上面的id参数一定是数字类型;同时过滤掉危险的关键字和符号,像PHP里addslashes这个函数的作用一样。

2) 在SQL语句中使用参数形式

SQL语句是可以用参数形式的,例如

01.executeSql("SELECTname FROM stud WHERE id=" + input_id)

这种字符串拼接的形式并不安全,可以换为

executeSql("SELECTname FROM stud WHERE id=?“, [input_id]);)

这样能保证参数的输入符合设定的类型。

3)谨慎对待每一次SQL操作

无论是select、modify、update或者delete,你编写的任何一条SQL语句操作都有可能成为攻击者的攻击对象,造成重大损失,所以都必须要谨慎对待。

4)不要存储重要数据

本地数据库永远透明而不安全,重要的数据必须要存储在服务器上,本地数据库里没有重要数据就不会对用户造成重大损失。

5)杜绝XSS漏洞

以上就是WebSQL攻击详细介绍,希望对大家学习WebSQL攻击有所帮助。

  • 不可逆加密算法的坏处 为什么需要可逆算法来加密?

    不可逆加密算法的坏处 为什么需要可逆算法来加密?

    现在很多网站密码采用MD5 方式加密,MD5是不可逆的运算,所以加密后不可能根据密文来还原。这里设明文到MD5密文的转换过程为函数,f(x),对任意x只有一个y=f(x)与之对应,对于任意y=f(x)只可能有唯一的一个x可以

    详情2018-02-06 08:52:46责编:llp   来源:驱动管家     
  • flash安全不可忽略!新浪微博也存在cookies漏洞?

    flash安全不可忽略!新浪微博也存在cookies漏洞?

    最近突然觉得,很多FLASH开发人员在编写的时候,忽视了安全问题。被恶意利用的话,可以实现URL跳转,COOKIES盗取,甚至是蠕虫攻击。漏洞测试:IE , firefox , chrome(= = 这个输入测试代码,浏览器直接崩溃

    详情2018-01-18 09:38:30责编:llp   来源:驱动管家     
  • d盾拦截国内注入工具,却无法识别国外注入工具提交的参数

    d盾拦截国内注入工具,却无法识别国外注入工具提交的参数

    少壮不努力,长大遇啊D----某大黑客D盾有多不爽我就不说了,现在都是批量注入,时不时的弹出D盾提示,甚是恼人。。。。。其实这个并不是我发现的,而是国外的一个注入工具。某日本人心血来潮,想换一个linux系统

    详情2018-02-04 09:58:46责编:llp   来源:驱动管家     
  • 如何破解webshell的密码,成功获取webshell?

    如何破解webshell的密码,成功获取webshell?

    Burp Suite是一个Web应用程序集成攻击平台,它包含了一系列burp工具,这些工具之间有大量接口可以互相通信,这样设计的目的是为了促进和提高整个攻击的效率。推荐下载:软件名称:burpsuite pro v1 4 07+key注

    详情2018-01-12 11:52:18责编:llp   来源:驱动管家     
  • 揭秘黑客建立隐藏账号技术 怎么让黑客隐藏的账号无处可藏?

    揭秘黑客建立隐藏账号技术 怎么让黑客隐藏的账号无处可藏?

    当黑客入侵一台主机后,会想方设法保护自己的“劳动成果”,因此会在肉鸡上留下种种后门来长时间得控制肉鸡,其中使用最多的就是账户隐藏技术。在肉鸡上建立一个隐藏的账户,以备需要的时候使用。账户隐藏技术可谓

    详情2018-02-05 11:00:20责编:llp   来源:驱动管家     
  • dr.web大蜘蛛的病毒隔离路径设置有哪些?

    dr.web大蜘蛛的病毒隔离路径设置有哪些?

    在使用Dr Web的朋友都知道 快速安装方式的病毒隔离路径为C: Program Files DrWeb infected !!!的文件夹下(如下图),其中有监控的隔离区设置,扫描的隔离区设置,发垃圾邮件的隔离区设置三种。下面我们分别来设

    详情2018-01-12 16:14:34责编:llp   来源:驱动管家     
  • 什么是手机病毒?手机病毒怎么传播?

    什么是手机病毒?手机病毒怎么传播?

    手机病毒是病毒的一个分支,虽然其存在只有短短数年,但在将来很可能会随着3G的推广而大量涌现。病毒类型:手机病毒病毒目的:破坏手机系统,狂发短信等手机病毒的始作俑者我用手机的时间很长了,大概在上世纪90

    详情2018-01-07 10:13:29责编:llp   来源:驱动管家     
  • 防电脑辐射的方法有哪些?这九招可以防电脑辐射

    防电脑辐射的方法有哪些?这九招可以防电脑辐射

    第一招:在电脑旁放上几盆仙人掌,它可以有效地吸收辐射;第二招:还 对于生活紧张而忙碌的人群来说,抵御电脑辐射最简单的办法就是在每天上午喝2至3杯的绿茶,吃一个橘子。茶叶中含有丰富的维生素A原,它被人体

    详情2018-02-02 10:55:13责编:llp   来源:驱动管家     
  • 木马捆绑器有哪些?什么是资源包裹捆绑器?

    木马捆绑器有哪些?什么是资源包裹捆绑器?

    一、传统的捆绑器这种原理很简单,也是目前用的最多的一种。就是将B exe附加到A exe的末尾。这样当A exe被执行的时候,B exe也跟着执行了。这种捆绑器的代码是满网都是。我最早是从jingtao的一篇关于流的文章中得

    详情2018-01-19 13:32:37责编: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   来源:驱动管家