首页 > 数据库 >Sqli-labs通关实况之第一关

Sqli-labs通关实况之第一关

时间:2023-10-10 13:25:15浏览次数:59  
标签:数据库 labs Sqli --+ table 第一关 id 输入 schema

Sqli-labs less-1

首先看题,提示你输入数字值的ID作为参数,我们输入?id=1,发现直接得到登录名和密码

输入的数值不同,回显内容也不同,所以输入的内容是带入到数据库里面查询了

接下来判断是字符型还是数字型

我们可以在数值1后面加上一个单引号和双引号来判断,先加入单引号看看。可以发现直接报错

我们再加入双引号看看,回显是正常的,证明存在字符型注入。此处引号变为%27,是因为这里使用了url编码导致的,后面的截图出现%开头的皆为url编码

此时我们可以使用order by语句来判断数据库存在多少列,我们先尝试输入order by 3 --+

此处--+为注释符。发现正常回显

我们再尝试输入order by 4 --+ 发现提示不存在第四列,证明数据库只存在三列

然后获取当前数据库名和版本号,输入?id=-1'union select 1,database(),version()--+,得到数据库名为security

接下来我们可以爆出显示位,输入?id=-1'union select 1,2,3--+

接下来,我们可以爆破表内容了,一般数据库的所有信息都在数据库information_schema里,

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

information_schema.tables表示该数据库下的tables表,点(.)表示下一级。where后面是条件,group_concat()是将查询到结果连接起来。如果不用group_concat查询到的只有emails。该语句的意思是查询information_schema数据库下的tables表里面且table_schema字段内容是security的所有table_name的内容

接下来爆列名,我们尝试爆破user表的列名,输入

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

该语句的意思是查询information_schema数据库下的columns表里面且table_users字段内容是users的所有column_name的内容

发现账号和密码果然在这个表中,接下来我们就要得到该字段对应的内容,输入?id=-1' union select 1,2,group_concat(username ,id , password) from users--+

至此得到所有账号和密码

编写人:Kevin 2023.10.10

标签:数据库,labs,Sqli,--+,table,第一关,id,输入,schema
From: https://www.cnblogs.com/fitfit/p/17754414.html

相关文章

  • SQLite 数据库
    SQLite是跨平台的单机版关系型数据库。 SQLite是一个进程内的数据库,实现了自给自足的、无服务器的、零配置的、事务性的SQL数据库引擎。它是一个零配置的数据库,意味着与其他数据库不一样,不需要在系统中配置。就像其他数据库,SQLite引擎不是一个独立的进程,可以按应用程序需求进......
  • AIGC革新,将文字或者LOGO融入AI视频基于PIKA-labs(Python3.10)
    很多平台都会禁止用户使用带有网址或者二维码的头像以及文章配图,这样可以有效的防止用户的一些“导流”行为。当然,头像、文章或者视频现在都是AI来审,毕竟现在人工的成本实在太高,但是如果我们把文字元素直接融入图像或者视频之中,如此一来,AI也会很难识别出一些“导流”的元素。本次......
  • 《XSS-Labs》02. Level 11~20
    @目录索引Level-11题解Level-12题解Level-13题解Level-14题解Level-15题解Level-16题解Level-17题解Level-18~20题解靶场部署在VMware-Win7。靶场地址:https://github.com/do0dl3/xss-labs只要手动注入恶意JavaScript脚本成功,就可以证明xss漏洞存在。最简单的验证......
  • 无涯教程-OC - SQLite
    SQLite可以在iOS中用于处理数据。它使用sqlite查询,这对于那些了解SQL的人来说更加容易。涉及步骤步骤1-创建一个简单的基于视图的应用程序。步骤2-选择您的项目文件,然后选择目标,然后在选择框架中添加libsqlite3.dylib库。步骤3-选择"File"→"New"→"File...",然后选择......
  • SQLite学习笔记——AND、OR运算符和UPDATE、DELETE语句
    运算符AND运算符带有WHERE字句的AND运算符语法如下SELECTcolumn1,column2,...columnNFROMtable_nameWHERE[condtion1]AND[condition2]...AND[conditionN];当满足AND连接的所有条件时,对应的列才会被选出来OR运算符带有WHERE子句的OR运算符语法如......
  • 《XSS-Labs》01. Level 1~10
    @目录索引Level-1题解Level-2题解Level-3题解总结Level-4题解Level-5题解总结Level-6题解Level-7题解Level-8题解Level-9题解Level-10题解靶场部署在VMware-Win7。靶场地址:https://github.com/do0dl3/xss-labs只要手动注入恶意JavaScript脚本成功,就可以证明xss漏......
  • SQLite学习笔记——创建数据库和SELECT,INSERT语句
    SQLite创建数据库我们可以直接使用sqlite3DatabaseName.db来创建数据库,这时候我们就会发现同一目录下出现了对应的.db文件或者我们可以先启动sqlite3然后在里面使用点命令.openDatabaseName.db来创建数据库,如果已经存在对应的数据库,那么我们默认就会打开该数据库。......
  • SQLite学习笔记——基本了解
    前言因为MacOS已经安装好了SQLite3,所以笔者就不需要安装。SQLite点命令首先我们要了解的是非常重要的点命令,这些命令的不同之处在于它们不以分号结束。如果需要查看可用的点命令清单,可以在任何时候输入.help来获取。SQLite语法大小写敏感性首先需要注意的是,SQLite不......
  • 主流常见关系数据库分页sql语句写法。MySQL、PostgreSQL、SQLite、Oracle、DB2、SQL S
    前言1.分页sql逻辑:每页10条,取第3页。即取第21~30条数据1.1.MySQL/SQLite/PostgreSQLselect*fromdemolimit10offset20;select*fromdemolimit20,10;--PostgreSQL不支持该写法1.2.Oracle12C+Oracle11g之前很难用,Oracle12C+与MySQL用法格式一样了,只是语法关......
  • 《Upload-Labs》01. Pass 1~13
    @目录索引前言Pass-01题解Pass-02题解总结Pass-03题解总结Pass-04题解Pass-05题解总结Pass-06题解总结Pass-07题解总结Pass-08题解总结Pass-09题解Pass-10题解Pass-11题解Pass-12题解总结Pass-13题解靶场部署在VMware-Win7。靶场地址:https://github.com/c0ny1/upload-lab......