渗透之sql注入----二次注入

目录

二次注入的原理:

实战:

第一步:找注入点

找漏洞:

注入大概过程:

第二步:开始注入


二次注入的原理:

        二次注入是由于对用户输入的数据过滤不严谨,导致存在异常的数据被出入数据库中;当我们从数据库中二次使用该数据时就会产生注入行为。

        二次注入也是较为常见的注入方式。

实战:

我们在sql靶场进行操作,本次的实战是sql靶场的第二十四关:

第一步:找注入点

我们通过查看源码可知,此关卡共有一下几个php页面。

经过大致的解读代码,这几个页面中可能存在注入点的php页面为pass_change.php,login.php,login_create.php三个页面。这三个页面的功能分别为修改密码,登录,创建新用户。

找漏洞:

我们观察这三个页面的php关键代码:

login.php:

login_create.php:

pass_change.php:

我们发现在我们输入的关键字段都被函数:mysql_real_escape_string()过滤了。这个函数的意思是对用户输入的敏感字符进行转义(在关键字符上连接一个反斜线进行转义),我们去php官网查看:

缺陷:该函数虽然可以对用户输入的进行过滤,但是在写入数据库中时并不会将其一并代入数据库。那么我们就可以从此点入手。

列子:我们注册一个用户,用户名为admin'#

去数据库中查看:发现特殊字符一并存入了数据库。

我们继续观察,发现在pass_change.php中的sql语句中会使用用户名来筛选并修改密码,但是该用户名是直接从数据库中取出的,并没有使用mysql_real_escape_string()函数进行过滤,那么我们就可以发现本次的注入点就在这里。

注入大概过程:

我们可以找到一个用户的用户名,但是我们并不知道它的密码。之后进入注册页面注册新的用户名,在进入密码修改界面修改密码。这就是本次注入的大概流程。

第二步:开始注入

1):假设我们已经知道了一个用户,叫做secure

2):进入注册页面:

注册一个用户名叫:secure'#    的用户

3):我们使用自己注册的用户登录,进入密码修改界面:

修改新密码为:aaaaaa

pass_change.php代码分析:

本次执行的sql代码为:

$sql = "UPDATE users SET PASSWORD='$pass' where username='$username';

这里的用户名为本次登录的用户名,并且直接从数据库中读取,没有进行过滤,当前的用户名为:

secure。

实际执行的代码为:如下

通过sql语句可以看到,我们实际上修改的为secure用户的密码。

4):使用我们修改的密码aaaaaa,来进行登录secure用户。

成功的登入了secure用户。

5):说明我们成功的使用sql注入,利用漏洞拿到了secure用户的密码,本次实验圆满成功。本次实验就是典型的二次注入。

相关推荐

  1. SQL注入注入

    2024-05-10 01:00:06       7 阅读
  2. SQL注入

    2024-05-10 01:00:06       16 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-05-10 01:00:06       14 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-05-10 01:00:06       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-05-10 01:00:06       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-05-10 01:00:06       18 阅读

热门阅读

  1. 3D旋转rotatex

    2024-05-10 01:00:06       14 阅读
  2. 详解Go语言Map

    2024-05-10 01:00:06       10 阅读
  3. c#读取hex文件方法,相对来说比较清楚

    2024-05-10 01:00:06       12 阅读
  4. 【网络】TCP的长连接是如何实现的

    2024-05-10 01:00:06       9 阅读
  5. AtCoder Beginner Contest 336 D题 Pyramid

    2024-05-10 01:00:06       13 阅读
  6. 今日总结2024/5/9

    2024-05-10 01:00:06       11 阅读
  7. 训练:shell_day01-10

    2024-05-10 01:00:06       12 阅读
  8. 2024.04.19校招 实习 内推 面经

    2024-05-10 01:00:06       12 阅读