基于注入式SQL的云端存储安全研究
SQL注入的原理及防范

SQL注入的原理及防范SQL注入(SQL Injection)是一种常见的安全漏洞,攻击者通过在输入框或URL参数中输入恶意SQL语句来执行未经授权的数据库操作。
SQL注入的原理是攻击者通过构造恶意的SQL语句,将其插入到应用程序的输入参数中,利用应用程序对用户输入数据的信任来获取或修改数据库中的信息。
要防范SQL注入攻击,开发人员和系统管理员需要遵循以下几个原则:1.使用参数化查询:参数化查询是防范SQL注入攻击最有效的方式之一、通过使用参数化查询,可以将用户输入的数据作为参数传递给SQL查询,而不是直接将用户输入的数据拼接到SQL语句中。
这样可以避免攻击者利用恶意SQL语句来执行未经授权的数据库操作。
2.输入验证和过滤:对用户输入数据进行验证和过滤是防范SQL注入攻击的另一个重要措施。
在接收用户输入数据之前,应该对数据进行验证,确保数据格式符合预期,并在需要时进行过滤,去除不安全的字符。
例如,可以使用正则表达式来验证输入数据是否符合特定的格式,或使用内置的函数来过滤危险字符。
3.最小化权限:在数据库的设计中,应该尽量采用最小权限原则,即只给予应用程序访问数据库所需的最小权限。
这样即使攻击者成功注入恶意SQL语句,也只能执行受限的操作,减少损失。
4.错误消息处理:在应用程序中,应该避免直接将数据库错误信息暴露给用户。
攻击者可以通过数据库错误信息来获取有关数据库结构和操作的信息,从而更有针对性地进行攻击。
应该对错误信息进行适当处理,显示友好的提示信息而不是详细的错误信息。
5.定期更新和维护:对应用程序和数据库进行定期的更新和维护也是防范SQL注入攻击的有效措施。
及时修补系统漏洞和更新软件版本可以减少攻击者利用已知漏洞进行注入攻击的机会。
总的来说,防范SQL注入攻击需要开发人员和系统管理员共同努力,采取多种手段综合防范。
只有在建立完善的安全机制和规范的开发流程的基础上,才能有效地防止SQL注入这种常见的安全威胁,保护应用程序和数据库的安全。
SQL注入式攻击及其防范措施研究

SQL注入式攻击及其防范措施研究SQL注入式攻击是一种常见的Web应用程序攻击技术,通过恶意注入SQL语句,攻击者可以绕过应用程序的身份验证和授权机制,获取或修改数据库中的敏感数据。
本文将详细介绍SQL注入式攻击的原理和常见的攻击手段,并提出有效的防范措施。
一、SQL注入原理及其危害1.SQL注入原理SQL注入攻击利用了应用程序未对用户输入的数据进行完全验证和过滤的漏洞。
当用户输入的数据直接拼接到SQL查询语句中时,攻击者可以通过在输入中插入恶意代码,改变SQL查询的逻辑,从而获取或修改数据库中的数据。
2.SQL注入的危害(1)数据泄露:攻击者可以通过恶意注入的SQL语句获取数据库中的敏感数据,如用户的账号、密码、信用卡信息等。
(2)数据修改:攻击者可以修改数据库中的数据,包括删除、修改、添加数据,从而破坏应用程序的功能或篡改系统配置。
(3)绕过身份验证:通过注入的SQL语句,攻击者可以绕过应用程序的身份验证和授权机制,以管理员或其他特权用户的身份执行恶意操作。
(4)拒绝服务:攻击者可以利用SQL注入攻击导致数据库崩溃或系统资源耗尽,从而拒绝正常用户的服务。
二、SQL注入攻击的常见手段1.基于报错的注入攻击攻击者通过输入恶意代码,触发应用程序产生报错信息,从而获取数据库中的信息,如表名、列名等。
常见的攻击代码包括单引号、注释符、SQL语句的拼接等。
2.盲注攻击盲注攻击是一种注入攻击的变种,攻击者无法直接获取数据库的信息,但可以通过不断尝试恶意代码并观察应用程序的响应来判断数据库是否存在漏洞。
常见的盲注攻击包括利用布尔盲注和时间盲注。
3.堆叠查询攻击攻击者利用应用程序允许同时执行多条SQL查询的漏洞,将多条恶意SQL语句堆叠在一起执行,从而获取或修改数据库中的数据。
三、防范SQL注入式攻击的措施1.输入验证与过滤应用程序应对用户的输入进行完全验证和过滤,将用户输入的字符、特殊字符和SQL敏感字符进行转义或替换。
基于SQL注入攻击漏洞问题研究

基于SQL注入攻击漏洞问题研究SQL注入攻击是一种常见的网络安全漏洞,常见于Web应用程序中。
攻击者通过恶意构造的SQL查询语句,在不经意间获取或修改数据库中的敏感数据。
本文将研究SQL注入攻击的原理、常见类型及防范方法。
一、SQL注入攻击原理SQL注入攻击利用了Web应用程序对用户输入的处理不严谨,或者没有对用户输入进行充分的验证和过滤。
攻击者通过构造恶意的输入,使得Web应用程序在解析用户输入的过程中,将恶意的SQL语句当作合法的查询请求执行。
常见的SQL注入攻击原理包括:1. 可能的注入点:攻击者寻找Web应用程序中可能存在的注入点,一般是通过用户的输入来构造SQL查询语句。
如用户输入的搜索关键词、用户名、密码等。
2. SQL语法破坏:攻击者构造恶意的输入,在用户输入的查询参数中插入特殊字符,破坏SQL语句的结构,使其变成可执行的SQL语句。
3. SQL查询结果的泄露:攻击者通过注入恶意的SQL语句,获取数据库中的敏感数据。
如用户的登录凭证、个人信息等。
二、SQL注入攻击的类型SQL注入攻击的类型繁多,常见的攻击类型包括:1. 基于布尔盲注的攻击:攻击者通过构造布尔表达式,并观察Web应用程序在不同输入下的响应结果,进而推测出数据库中的信息。
2. 基于错误消息的攻击:攻击者通过构造恶意的输入,使得数据库在执行SQL查询语句时抛出错误消息,从中获取有关数据库结构的信息。
三、SQL注入攻击的防范方法为了保护Web应用程序免受SQL注入攻击的威胁,可以采取以下防范措施:1. 输入验证和过滤:对用户输入的数据进行验证和过滤,确保输入的数据符合预期的格式和规范。
可以使用正则表达式或特定的过滤函数对用户输入进行检查。
2. 使用参数化查询或预编译语句:将用户输入的数据作为参数传递给SQL查询语句,而不是直接拼接在SQL语句中。
参数化查询能够有效防止SQL注入攻击。
3. 最小权限原则:为数据库用户分配最小的权限,限制用户在数据库中的操作。
基于SQL注入攻击漏洞问题研究

基于SQL注入攻击漏洞问题研究【摘要】SQL注入攻击是一种常见的网络安全漏洞,攻击者通过在输入框中插入恶意的SQL代码,成功执行未经授权的数据库操作。
本文围绕SQL注入攻击展开研究,分析了其原理和常见手段,探讨了检测和防范的方法,并通过实例分析和案例研究验证了其危害性。
在总结了研究成果,展望了未来发展方向,并提出了建议,希望可以为网络安全领域提供有益的参考。
通过深入探讨SQL注入攻击漏洞问题,可以帮助提高对网络安全威胁的认识,提升信息安全防护水平。
【关键词】SQL注入攻击漏洞、引言、概述、研究背景、研究意义、SQL注入攻击原理、常见的SQL注入攻击手段、检测和防范SQL注入攻击的方法、实例分析、案例研究、总结、展望、建议。
1. 引言1.1 概述SQL注入攻击是一种常见的网络安全威胁,利用应用程序对用户输入数据的处理不严谨,通过构造恶意的SQL语句,从而实现对数据库的非法操作。
SQL注入攻击可能导致数据库信息泄露、篡改或者数据库服务器被远程控制等严重后果。
本文将深入探讨SQL注入攻击的原理、常见手段、检测和防范方法,并通过实例分析和案例研究来更好地理解SQL注入攻击的危害和防范措施。
本文目的在于帮助读者深入了解SQL注入攻击的危害和防范方法,提高大家对网络安全的重视程度。
通过学习SQL注入攻击的原理和常见手段,读者可以更加准确地识别潜在的安全隐患,加强系统的安全防护;通过实例分析和案例研究,读者可以更好地理解SQL注入攻击的危害和后果,从而有效地避免成为攻击者的下一个目标。
本文旨在提高读者对网络安全问题的认识,帮助大家更好地保护自己的信息安全和网络安全。
1.2 研究背景SQL注入攻击是目前网络安全领域中一种常见的攻击方式,它利用网站或应用程序对用户输入数据的处理不当,通过在输入数据中插入SQL语句,从而实现对数据库的非法访问和控制。
SQL注入攻击不仅会导致数据泄露、数据损坏,甚至可能导致系统的完全崩溃,给信息系统的安全造成严重威胁。
针对SQL注入的研究及其预防对策

针对SQL注入的研究及其预防对策摘要:Web中�稻菘獾挠τ迷嚼丛焦惴海�SQL的注入也成为了黑客攻击数据库比较常见的手段。
文章对SQL注入攻击的一些相关原理进行了简要的说明。
并对现阶段SQL 注入攻击的特点进行了研究和剖析,然后在这个基础之上提供了几种对SQL进行预防的防护方法。
并且对这些方法的使用情况进行了必要的说明关键词:SQL注入研究预防对策随着互联网的发展,大量的web网站开始涌现,极大地方便了人们的信息获取需求。
与此同时,黑客针对网站的攻击也屡屡出现,造成了或多或少的经济损失现代社会,而近年来互联网技术的发展迅猛,以因特网为基础平台的Web应用系统在计算机的各个领域都有了越来越广泛的用途。
譬如企业的办公系统以及电子商务系统等等。
这些系统绝大多数都是采用的HTTP的方式进行数据的传递,然后将这些数据相关组织的数据库当中,这些数据对一些不法分子来说具有非常大的吸引力,这就给数据的安全性造成了很大的安全隐患,比较典型的就是SQL的注入。
一、SQL注入从目前的情况来看,现在的Web应用程序在一般情况下采用的都是依靠数据库为用户进行写、度数据的方法,但是,在另一方面,由于从事程序编程人员的水平参差不齐,绝大多数编程的工作者没有在编写程序的时候对用户数据的合法性进行辨别,这就导致在应用程序的过程中出现了安全隐患。
SQL注入,简单的来说,就是不法分子利用高科技手段改变原来数据的查询语句,并把这个命令提交给服务器,并在这个基础之上执行恶意的SQL命令然后不法分子在依据数据返回的结果中获取攻击者想要得到的信息,进行下一步的不法活动。
关于SQL的注入原理众所周知,SQL注入的目的就是对数据库进行攻击,然后在攻击数据库的基础之上在攻击其所在的服务器,而这种攻击的主要方式就是不法分子将代码在参数中进行植入,而这些参数会被植入SQL命令中加已执行。
例如将恶意的代码插入到字符串当中,然后在这个基础之上将这些字符串保存在数据库当中的数据表中,或者将其当作元数据,当被存储的字符串植入到动态的SQL命令当中来的时候,这些恶意的代码就会被执行。
SQL注入攻击的防范及安全措施研究

SQL注入攻击的防范及安全措施研究随着互联网时代的到来,人们利用计算机技术进行业务操作和数据存储的方式也发生了巨大的变化。
数据库系统已经成为了企业和网站数据管理的核心。
然而,网络上也存在着各种各样的安全问题。
SQL注入攻击就是网络安全威胁中非常危险的一种形式,可以使服务瘫痪或者造成用户数据泄漏,给服务提供者和用户带来损失。
本文将探讨SQL注入攻击的特点,防范方法和安全措施。
一、SQL注入攻击的特点1. 特点一:利用SQL的漏洞SQL注入攻击首先是一种利用Web开发中SQL语句的漏洞进行的攻击方式。
在传统网站中,前端页面与后端数据库之间的交互过程中使用了SQL查询语句,比如查询用户信息、商品信息、订单信息等。
攻击者利用SQL的漏洞注入恶意代码,成功运行后即可轻松地在后台数据库中获取、修改、添加、或删除一些数据。
2. 特点二:目标明确SQL注入攻击者通常不是一些不知道自己攻击目标的随意入侵者,而是有明确目标和目的的攻击者。
他们可能是企业内部的敌对势力或竞争对手,或者是黑客社区中专业攻击者。
攻击者的目的往往是为了获取对于网站或企业较为敏感的信息或者数据,比如企业用户数据、账户密码等敏感信息。
3. 特点三:攻击简单有效SQL注入攻击并不需要攻击者具备过于复杂的技术技能,普通的黑客即可进行此类攻击。
并且SQL注入攻击极其危险,注入成功后攻击者可以随意操作数据库,而且通常不会给网站或者企业留下任何痕迹。
二、防范方法1. 参数化查询参数化查询是防范SQL注入攻击中最基本的方法。
参数化查询和普通的查询有所不同,它不使用带有可执行数据的字符串查询语句,而是把数据作为参数来操作数据库。
这样可以有效防止注入攻击,因为当参数传递给SQL语句时,SQL语句中的关键字和数据分开来传递。
2. 过滤用户提交的数据在网站表单提交等页面中,可以利用脚本语言对用户输入的数据进行验证和过滤,将不可信数据过滤掉,如不合法字符、危险字符等,就可以有效避免SQL注入攻击。
基于SQL注入攻击漏洞问题研究

基于SQL注入攻击漏洞问题研究SQL注入攻击是一种常见的网络安全漏洞,它允许攻击者通过篡改应用程序的输入来执行恶意的数据库操作。
在此研究中,我们将探讨SQL注入攻击的原理、常见的攻击方式和相应的防护措施。
SQL注入攻击的原理是利用应用程序没有正确过滤用户输入,将恶意的SQL代码注入到正常的SQL查询中。
这使得攻击者可以执行未经授权的数据库操作,如访问敏感数据、修改数据、删除数据等。
一种常见的SQL注入攻击方式是通过修改应用程序的输入参数来执行恶意SQL查询。
攻击者可以在输入框中输入一些特殊字符或SQL关键字,以实现对数据库的非法操作。
攻击者可以通过在用户名输入框中输入`' OR '1'='1' -- `来绕过认证,因为这样构造的SQL 查询总是返回真值,使攻击者能够绕过登录验证。
另一种常见的攻击方式是通过错误的错误处理机制来获取敏感信息。
攻击者可以利用数据库错误消息泄露出来的信息来推断数据库结构和数据内容。
当应用程序在处理错误时显示了数据库错误消息,攻击者可以根据错误消息的内容逐渐获得对数据库的更多了解。
为了防止SQL注入攻击,我们可以采取以下措施:1. 使用参数化查询或预编译语句。
参数化查询或预编译语句可以将用户输入和SQL查询语句分开处理,从而避免注入攻击。
参数化查询使用占位符来表示输入参数,而不直接将用户输入拼接到SQL查询中。
2. 对用户输入进行验证和过滤。
应当对用户输入进行合法性验证和过滤,删除或转义特殊字符。
应当对字符`'`、`"`、`;`等进行过滤或转义,以防止注入攻击。
3. 最小化数据库用户的权限。
确保数据库用户仅具有执行必要操作的权限,以降低攻击者的影响范围。
避免将数据库用户赋予具有敏感操作权限的角色。
4. 定期更新和管理数据库。
及时修补数据库软件的安全漏洞,定期备份和还原数据库,以减少恶意攻击的影响。
5. 遵循安全开发和部署最佳实践。
数据库中的SQL注入攻击与防范技术研究

数据库中的SQL注入攻击与防范技术研究概述:SQL注入攻击是一种常见的网络攻击手法,攻击者通过在应用程序中插入恶意的SQL代码,来获取或者修改数据库的数据。
这种攻击可以导致数据泄露、数据破坏甚至服务器被完全控制。
在本文中,我们将对SQL注入攻击的原理、常见的注入方式及防范技术进行深入研究。
一、SQL注入攻击原理:SQL注入攻击利用了应用程序未对用户输入进行有效验证和过滤的漏洞,从而使攻击者能够向数据库中注入恶意代码。
一旦这些恶意代码被数据库执行,攻击者就可以执行任意的数据库操作。
通常情况下,一个正常的应用程序会接收用户输入数据,使用这些数据构建SQL查询语句并将其发送到数据库。
然而,如果应用程序没有对用户输入进行足够的验证和过滤,攻击者就可以在输入中注入恶意的SQL代码。
例如,下面是一个常见的登录验证SQL查询语句:```sqlSELECT * FROM users WHERE username='$username' andpassword='$password'```假设攻击者在用户名输入框中输入`' OR '1'='1`,相应的SQL查询语句就会变成:```sqlSELECT * FROM users WHERE username='' OR '1'='1' and password='$password'```通过这样的注入,攻击者可以绕过原来的登录验证,直接获取到数据库中的用户信息。
二、常见的注入方式:SQL注入攻击有多种方式,以下是一些常见的注入形式:1. 基于用户输入的注入:攻击者在用户输入的字段中插入恶意的代码,常见的注入点包括表单、URL参数、HTTP头等。
2. 盲注SQL注入:攻击者通过不断猜测数据库的返回结果进行攻击,以获得数据库中的信息。
这种注入方式不需要从数据库中获取任何实际信息。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第25卷第23期电子设计工程2017年12月Vol.25 No.23 Electronic Design Engineering Dec. 2017基于注入式S Q L的云端存储妥会研究蔡翔,宋贤睿,顾广宇,张淑娟(国网安徽省电力公司电力科学研究院安徽安庆230601)摘要:针对云端存储面对的注入式SQL攻击的问题,本研究在深入分析注入式SQL攻击的基础上,阐述了报错注入式和U R L编码转换的攻击原理。
通过构建对称参数明文加解密的方式,分别利用NnCcVvC编码和指定key值的形式对存储进行加密,结合加密逆向流程完成对云端存储字符串的PH P解密。
整合了参数校验和数据过滤的操作步骤,降低了用户访问云端数据库的权限设置,通过存储的加解密双向操作为云端存储提供更安全的保障。
关键词:注入式SQL;云端存储;加密算法;安全管理中图分类号:TN929.1 文献标识码:A文章编号:1674-6236(2017)23-0182-04Research on security of cloud storage based on injection SQLCAI Xiang,SONG Xian-rui,GU Guang-yu,ZHANG Shu-juan(State Grid Anhui Electric Power Company Electric Power Research Institute,Anqing230601 ,China)Abstract:The analysis of injection SQL attacks,this paper discusses the attack principle of error-injection and URL- encoding conversion.By constructing the symmetric parameter encryption anddecryption method,the storage is encrypted with NnCcVvC code and designated key value respectively,and the PHP decryption of the cloud storage string is completed by combining the encryption reverse flow.The integration of the parameter calibration and data filtering steps,reducing t he user access to database permissions settings,encryption and decryption through the storage of two-way operation forcloud storage to provide more security.Key words:injected SQL;cloud storage;encryption algorithm;security management伴随着云计算技术的飞速发展,云端数据库信 息存储安全被认为是信息安全保证的重要屏障,但 云端数据库的安全性一直在学术界引起了广泛的关 注传统的云存储防御和检测方法存在较高的安全隐患,数据库攻击者可通过重言式[和延时盲注 的方式对云端数据库的信息进行窃取。
与此同时,数据信息的管理者通过检测字符串表达式的形式对 云端存储漏洞进行排查,并结合关键词ASCII编码 将不合法参数在存储过程中进行进制替换,从而检 测了数据库攻击者的非法访问权限。
针对云端存储 的安全性问题,本研究在梳理注人式SQL攻击方式 的基础上,详细剖析了报错注人和编码转换的攻击 方式,并介绍了应对注人式SQL攻击的程序调用防 御方法。
在融合众多防御方法优点的理论支撑下,给出了一种对称参数明文加解密的云端存储安全保障编码方案,该方案利用参数字符串加密的信息进 行云端存储的加密,同时,依据逆向加密的流程给出 了云端数据库抽取数据的参数解密,双向的数据信 息加解密为云端存储提供了更高的安全保障。
1注入式SQL攻击1.1基本原理注人式SQL通过构建非法SQL语句来攻击达到 云端数据库的目的[]。
在云端数据库未设置检验和 安全过滤时,信息安全攻击方通过搭建非法字符串 的形式对云端资源进行抽取,并结合设定程序有目 的的攻击用户数据信息[]。
本文以云端数据存储为 研究对象,详细阐述报错注人和编码转换1两种注 人式SQL攻击。
1)报错注人收稿日期:2016-10-03稿件编号:201610004 利用EXP函数对云端数据库进行程序调用,攻作者简介:蔡翔(1983—),男,安徽蚌埠人,硕士,工程师。
研究方向:信息安全、渗透测试、无线安全。
-182-蔡翔,等基于注入式S Q L的云端存储安全研究击者有目的地对存储数据实现溢出效应,在众多数 据中抽取对攻击者有利的数据信息,最终使得云端 数据库出现报错信息提示。
即页面显示结果如下:Select(favorable information)FROM(Cloud database) WHERE SQL num=’1EXP(Select (Key Information) FROM (Database))AND 1=,1Error:DOUBLE value is out of ranks in EXP (select (User name@server address)from (Terminal Server))由以上的基于EXP函数的报错注入错误信息提 示可见,’User name@server address’给出了云端存储 的用户名和服务器地址的关键信息。
2)编码转换与报错注入的形式不同,编码转换利用URL地 址解码的方式对云端存储数据信息集合调用进行攻 击。
即网址的显示结果如下:h tp://serveraddress/clouddatabase/main/search.php tag=favorableinformation%15 %122%2c+ 2%4e2 + all+ select+ user+%3ddatabase%+%15% 3440% + 4c%36% 37%4d1.防御方法1用户输入检测用户输入检测分别注入字符检测和输入参数检 测两种方法[12]。
其中,注入字符检测利用正则方式 和更换方式将注入式SQL字符串关键词进行替换;输入参数检测是利用数据信息的整数参数进行强制 性的转换为整型,其他类型的参数也同样进行使用 前的转化,整体上避免了整型参数后添加SQL语句。
2) 数据存储的加密通过对重要数据信息进行针对性的加密存储以 降低信息外泄的损失,例如银行卡号、用户帐号和身 份验证信息等在云端存储数据库中以加密式的非明 文形式进行存储,有效的降低了数据库攻击者在窃 取重要信息后的字符串识别能力。
3) 参数优化查询参数优化查询则是依据用户输入数据信息后在 云端存储中设定的参数遍历查询[13],在受到数据库 攻击时,攻击者并不能依据参数的设置去破解分析 参数字符串的真正含义,通过这种方式的构建避免 了数据库攻击者利用SQL语句调用执行和破译数据 信息,进而确保了云端数据库的安全性。
4) 服务器权限设置通过终端服务器和云端数据库服务器的配置设 定完成对服务器权限设置,在权限设置过程中依据用户存储信息重要性权限的最小值进行设置[14],即终端管理的R o t权限分配给对应的数据存储用户,同时,在云端数据库存储的编码权限进行集中管理,数据库的访问需要通过复杂的密码进行验证。
2对称参数明文加解密2.存储加密对于云端数据库在存储数据信息时,通过对称 参数明文加密和重构的方式利用指定编码(NnCcVvC)对数据存储前进行加密编码[15],参数编 码和重构方式如图1所示。
丨加密数据I校验编码1|〇(0校验)|〇(0校验)|加密数据I校验编码2|〇(尾校验)| ll r l;i^l i l i i i i|端序64bit |端序32bit|无字符串|有字符串|端序Mbit丨端序32bit|有字ff¥~|图1参数编码和重构在数据信息在云端存储之前都进行如图1的数 据字符串的对称参数加密重组,其中,包含两个C重 构无字符串的0校验,n重构和〃重构段序位置上的 32 b it的校验编码和两个有字符串的0尾校验。
具 体的参数编码如表1所示。
表1参数编码字符串编码含义编码含义N非字符串长编码(64bit以上)c字符串插入非字符串短编码V非字符串长编码n(32bit以上)(64bit以内)C非字符串插入v非字符串短编码(32bit以内)由表1可见,字符串与非字符串的编码值均匀 的分布在数据信息重组中。
由于云端存储库面对众 多的用户上传数据信息,则避免数据加密的校验值 存在相同情况,本研究中增加了用户自定义n重构 的校验编码1和r重构的校验编码2。
为了利用校验 编码在字符串对数据加密更方便的被编辑,采用数 据复杂度的固定值求余的方式生成的以防止非法数 据值输入对云端存储的窃取。
依据对称加密算法对指定key进行加密[16],其中 key值可以根据不同的存储数据类型进行替换,本研 究中利用的key值为j%N&#H*具体的云端存储 数据加密流程如图2所示。
2.2存储解密针对云端存储数据在导出过程中的解密同样采-183-《电子设计工程》2017年第23期图2云端存储数据加密流程用非整数的形式,这样可以避免整数后附加攻击性 的注入式SQL语句并且防止了除用户外的权限ID 访问云端数据库。
具体的解密流程如下:Step.1:利用对称参数加密逆向解密;Step.2:解密后的数据字符串进行如图1所示的 尾校验;Step.3:将各校验编码和加密字符串校验编码进 行对比,若校验编码相同则解密成功,若不相同则说 明数据解密后的字符串为非法访问,即可判断访问 来自于外部攻击,返回0校验。
数据解密实质上是对数据加密过程的逆操作,具体操作流程如图3所示。
图3云端存储数据解密流程3实验结果为验证本研究提出的针对注入式SQL的对称参 数加密可靠性,实验利用合肥城市云数据中心开发 了一个测试网站,该网站在RJS集成运行环境下,结 合Javascript、PH P和html等语言进行源代码的编写。
采用SQLMAP和SSQLInjection作为漏洞测试工 具,使用上述对称参数明文加解密对云端存储进行 漏洞测试,结果如下:master static function decode($str){$str=pack(‘strval($str),);$block=mcrpyt_get_block_size(‘strval’,’str’);$str=str_repeat(chr($pad));retyrn bin4hex(enrypt($str),strlen($str%$block));}从结果中明显发现云端存储存在3种攻击方 式:’1= 1'sleep和UNION。