加入收藏 | 设为首页 | 会员中心 | 我要投稿 河北网 (https://www.hebeiwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 业界 > 正文

强加密算法下,SQL注入案例

发布时间:2018-12-19 02:15:59 所属栏目:业界 来源:xiaohui
导读:暗码学具有各类利益,包罗信息的机要性。然而,太过依靠暗码学来掩护应用措施是一个坏主意。本日我们就通过一个案例研究,来熟悉一下通过加密的有用载荷辨认和操作SQL注入裂痕。 SQL注入大概许多人都知道可能行使过,假如没有相识或完全没有听过也没有相关

暗码学具有各类利益,包罗信息的机要性。然而,太过依靠暗码学来掩护应用措施是一个坏主意。本日我们就通过一个案例研究,来熟悉一下通过加密的有用载荷辨认和操作SQL注入裂痕。

SQL注入大概许多人都知道可能行使过,假如没有相识或完全没有听过也没有相关,由于接下来我们将先容SQL Injection。

SQL注入,就是通过把SQL呼吁插入到Web表单递交或输入域名或页面哀求的查询字符串,最终到达诱骗 处事器 执行恶意的SQL呼吁。

详细来说,它是操作现有应用措施,将恶意的SQL呼吁注入到靠山 数据库 引擎执行的手段,它可以通过在Web表单中输入恶意SQL语句获得一个存在安详裂痕的网站上的数据库,而不是凭证计划者意图去执行SQL语句。

那SQL注入会在什么时辰产生呢?

假设我们在赏识器中输入URL www.sample.com,因为它只是对页面的简朴哀求无需对数据库动进动作态哀求,以是它不存在SQL Injection,当我们输入www.sample.com?testid=23时,我们在URL中转达变量testid,而且提供值为23,因为它是对数据库进动作态查询的哀求(个中?testid=23暗示数据库查询变量),以是我们可以在该URL中嵌入恶意SQL语句。

不外要提前声名一下,我们不会在本文中接头加密题目,而是只接头应用措施缺陷,我们会天赋生加密的有用载荷,然后将其用于辨认和操作SQL注入。

在最近我们打仗到的一个电子商务应用措施中,调查了该网站的大大都哀求参数值已被加密。当哀求参数被加密时,很难对应用措施举办恍惚测试,除非我们可以去除加密,不外这必要知道密钥和加密算法。

下图就是我们所找的样本网站的具体信息页面,该页面就是以加密名目发送id(orderid)参数的。

强加密算法下,SQL注入案例

留意:参数值(BDKfx3xNKsc =)是加密的,而不是简朴的base64编码。ID参数的加密值以base64编码名目暗示。

我们还留意到,假如我们退出应用措施,然后以沟通的用户登录并导航到完全沟通的页面,则加密参数(nPBri1km2ic =)的值此刻差异,如下所示。

强加密算法下,SQL注入案例

正如上图所示,随机要钥在每个乐成的登录或会话ID(cookie的一部门)顶用于加密,以某种方法用作密钥的一部门。这看起来很安详,不外照旧让我们实行着SQL注入。

起首,我们实行在多个位置注入单引号(')以测试输入验证,,但哀求参数被拒绝,由于这些参数必要加密名目(即有用的密文)。

不外我们在这里可以行使购物车的一个分享成果,此成果应承用户与其他人共享购物车项目。当用户生涯购物车举办共享时,会发生一个带有随机查询令牌的链接。通过会见此链接(URL),用户可以会见互相的购物车。在购物车被要求生涯之前,用户被要求在购物车上标志一个名字。

强加密算法下,SQL注入案例

因为这是接管明文输入的有数输入字段之一,以是我们将其编码为SQLi,XSS。在更深入的检测中,我们发明天生的URL中的令牌共享购物车现实上是我们为购物车选择的购物车名称的暗码。

不外请留意,共享购物车成果可不会等闲受到任何进攻的影响,但可以用于为给定输入(明文)天生加密的有用内容(密文)。此刻,可以共享购物车成果的链接就可以天生一个加密的进攻有用载荷来搜查应用措施对SQL注入,绕过授权等裂痕举动举办验证了。为了测试SQL注入,天生了单引号(')的加密值。

加密的有用载荷用于恍惚仅接管密文值作为输入的各类应用参数。我们花了一些时刻来打到正确的位置,可是最终,orderitem页面的ID参数返回一个SQL错误动静,确认该裂痕。

该错误动静证明应用措施天生动态查询,并也许轻易受到SQL注入进攻。此刻是从数据库中提守信息的时辰了,基于UNION的SQL查询用于从数据库中提取数据,连系运算符用于组合两个或多个select语句的功效。

第一个使命是确定作为SQL查询的一部门返回的列数,行使试错,我们在查询中返回了一些列(30)。此刻是时辰从数据库中提守信息了,我们建设了一个加密的有用载荷来提取数据库版本信息,如下所示。

强加密算法下,SQL注入案例

然后,把上述有用载荷的输出天生的密文作为页面上易受进攻的ID参数输入。

强加密算法下,SQL注入案例

然后我们行使这个裂痕来构建数据库体系,最终获得一个shell。

总结

由上面的说明可知,用加密参数来实现应用措施中的安详性着实并不像想象中的那么安详,好比用强加密算法加密的数据,恶意进攻者可以行使加密的有用载荷的方法来举办进攻。 今朝,加密仍被以为是掩护数据免遭改动或诱骗的有力机制,不外因为加密执行不力和缺乏明晰的行使隐私掩护,以是仍有也许会造成相等伤害的安详裂痕。

【编辑保举】

  1. 怎样做好裂痕打点的裂痕修复事变
  2. 应用安详:Web进攻本领及防止之—收集层或裂痕
  3. 裂痕银行CTO张雪松:我们必要用“开放安详”新视角拥抱安详
  4. Firefox被曝出一个已存在 11 年未修复的裂痕
  5. SQL注入通例Fuzz全记录
【责任编辑:赵宁宁 TEL:(010)68476606】
点赞 0

(编辑:河北网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读