ce安全网绿色资源分享

教程资讯|常用软件|安卓下载|下载排行|最近更新

软件
软件
文章
当前位置:首页网络安全安全文章 → 二次SQL注入举例详解

二次SQL注入举例详解

时间:2018-08-07 07:00:28人气:作者:本站作者我要评论

二次SQL注入举例详解

介绍

二次Sql注入是一个应用程序漏洞,它发生在用户提交的值存储在数据库中,然后它被应用程序中的某些其他功能使用而不转义或过滤数据。

通常来自外部源(用户提供的)的数据被认为是危险的并且被转义/过滤。开发人员信任来自数据库的数据。此行为类似于Stored Cross Site Scripting攻击。

二次SQL注入示例

为了演示此漏洞,我准备了易受攻击的用户登录,注册和密码更改功能。让我们说用户注册,然后登录并更改密码。它在所有动态Web应用程序中非常常见。

首先我们来模拟登陆,用户需要注册或登录。用户名“cesafe”和密码“ cesafe123”登录

成功登陆后,它会确定用户名"cesafe"正确进行身份验证。

我再创建了一个新用户,用户名为"cesafe'-",密码为“ cesafe123456 ”。

请注意,用户名值 "cesafe'-" 实际上是sql注入有效负载,它没有被转义或截断,按原样保存在数据库中。

所以基本上到目前为止我们已经注册了两个用户名。“cesafe”和"cesafe'-"使用不同的密码。注册帐户后,我使用用户名“cesafe' - ”登录

由于页面提供了密码更改功能,我将密码从“cesafe123456”更改为“cesafe666”。  注意,用户名是“cesafe' - “因此,我们为此用户名构造密码更改查询。

  1. UPDATE users
  2. SET password='cesafe123456'
  3. WHERE username='cesafe'-' and password='cesafe666'

现在,因为WHERE子句中的用户名是" cesafe'- ",而不是After -查询作为注释被丢弃,因为  -用于在SQL中启动注释。查询最终如下:

  1. UPDATE users
  2. SET password='cesafe123456'
  3. WHERE username='cesafe'

查询导致更新用户“cesafe”的密码而不是“cesafe - ”  因此成功执行二阶sql注入。二阶SQL注入也适用于其他场景,其中数据库中的数据是要检索的,希望它能解释这个概念。

相关文章

猜你喜欢

网友评论

验证码:

请自觉遵守互联网相关政策法规,评论内容只代表网友观点,与本站立场无关!

最新评论

已有人参与,点击查看更多精彩评论

本类推荐

关于CE安全网 | 联系方式 | 发展历程 | 版权声明 | 下载帮助(?) | 广告联系 | 网站地图 | 友情链接

Copyright 2019-2029 cesafe.com 【CE安全网】 版权所有 琼ICP备2021004244号-1| 琼ICP备2021004244号-1

声明: 本站为非赢利性网站 不接受任何赞助和广告 所有软件和文章来自互联网 如有异议 请与本站联系 技术支持:ce安全网