SQLi-LABS 学习SQL注入(less 54-less65 )

Less-54

你需要在数据库中找到密钥

SQLi-LABS 学习SQL注入(less 54-less65 )_第1张图片
图片.png
百度翻译,就是说你最多只能尝试10次,10次之后就会自动重置随机表名,列名,数据表。
图片.png

单引号闭合发现不会报错
SQLi-LABS 学习SQL注入(less 54-less65 )_第2张图片
图片.png
应该是单引号闭合
图片.png
而且不是oder by注入
图片.png
3个查询字段
SQLi-LABS 学习SQL注入(less 54-less65 )_第3张图片
图片.png
爆表名2xjj4aw1b1
SQLi-LABS 学习SQL注入(less 54-less65 )_第4张图片
图片.png
爆字段名id,sessid,secret_XQ1M,tryy
SQLi-LABS 学习SQL注入(less 54-less65 )_第5张图片
图片.png
爆数据1>2955104571741a361ca41d687dd3649c>Zi2thuqZHQCUsyS7coRR5cWu>8>
SQLi-LABS 学习SQL注入(less 54-less65 )_第6张图片
图片.png
SQLi-LABS 学习SQL注入(less 54-less65 )_第7张图片
图片.png

less-55

同样不会报错,只能猜或者盲注。发现数字,',",'),")闭合都不对,空格和注释也没有被过滤。
SQLi-LABS 学习SQL注入(less 54-less65 )_第8张图片
图片.png

看了答案第一次见到(变量)这种闭合方式,不是oder by注入
图片.png

那其余步骤就跟上一题一样了。
SQLi-LABS 学习SQL注入(less 54-less65 )_第9张图片
图片.png
爆表
SQLi-LABS 学习SQL注入(less 54-less65 )_第10张图片
图片.png

爆字段
SQLi-LABS 学习SQL注入(less 54-less65 )_第11张图片
图片.png
爆数据
SQLi-LABS 学习SQL注入(less 54-less65 )_第12张图片
图片.png

Less-56

不会报错,不是双引号闭合
SQLi-LABS 学习SQL注入(less 54-less65 )_第13张图片
图片.png

是('变量')闭合
SQLi-LABS 学习SQL注入(less 54-less65 )_第14张图片
图片.png
SQLi-LABS 学习SQL注入(less 54-less65 )_第15张图片
图片.png
,其余操作同上
SQLi-LABS 学习SQL注入(less 54-less65 )_第16张图片
图片.png

Less-57

双引号闭合
SQLi-LABS 学习SQL注入(less 54-less65 )_第17张图片
图片.png

Less-58

单引号报错,发现是单引号闭合

SQLi-LABS 学习SQL注入(less 54-less65 )_第18张图片
图片.png
可union不起作用,而且没有过滤select union
SQLi-LABS 学习SQL注入(less 54-less65 )_第19张图片
图片.png
看下源代码
SQLi-LABS 学习SQL注入(less 54-less65 )_第20张图片
图片.png
根据id值输出的是固定的数组,没有调用数据库中的数据。不过有报错信息,可以用报错函数。爆表名
SQLi-LABS 学习SQL注入(less 54-less65 )_第21张图片
图片.png
爆字段名
SQLi-LABS 学习SQL注入(less 54-less65 )_第22张图片
图片.png
爆数据
SQLi-LABS 学习SQL注入(less 54-less65 )_第23张图片
图片.png
SQLi-LABS 学习SQL注入(less 54-less65 )_第24张图片
图片.png

Less-59

报错显示数字型
SQLi-LABS 学习SQL注入(less 54-less65 )_第25张图片
图片.png

同样union没有作用,用报错函数,步骤同上
SQLi-LABS 学习SQL注入(less 54-less65 )_第26张图片
图片.png

Less-60

双引号报错显示("变量")闭合方式
SQLi-LABS 学习SQL注入(less 54-less65 )_第27张图片
图片.png

union不起作用,用报错函数
SQLi-LABS 学习SQL注入(less 54-less65 )_第28张图片
图片.png
SQLi-LABS 学习SQL注入(less 54-less65 )_第29张图片
图片.png

Less-61

单引号报错,(('闭合'))
SQLi-LABS 学习SQL注入(less 54-less65 )_第30张图片
图片.png

同上
SQLi-LABS 学习SQL注入(less 54-less65 )_第31张图片
图片.png

Less-62

不会报错,可以尝试130次,肯定就是盲注了。

SQLi-LABS 学习SQL注入(less 54-less65 )_第32张图片
图片.png
不是双引号闭合
SQLi-LABS 学习SQL注入(less 54-less65 )_第33张图片
图片.png
不是括号双引号闭合
SQLi-LABS 学习SQL注入(less 54-less65 )_第34张图片
图片.png
是括号单引号闭合
SQLi-LABS 学习SQL注入(less 54-less65 )_第35张图片
图片.png
SQLi-LABS 学习SQL注入(less 54-less65 )_第36张图片
图片.png
然后写脚本盲注把 http://127.0.0.1/sqli-labs-master/Less-62/index.php?id=1') and if(ascii(substr(database(),1,1))=99,1,sleep(5)) -- k

Less-63

和Less-62一样,闭合方式变为单引号闭合
SQLi-LABS 学习SQL注入(less 54-less65 )_第37张图片
图片.png
SQLi-LABS 学习SQL注入(less 54-less65 )_第38张图片
图片.png

Less-64

又一个没见过的闭合方式(())

SQLi-LABS 学习SQL注入(less 54-less65 )_第39张图片
图片.png
SQLi-LABS 学习SQL注入(less 54-less65 )_第40张图片
图片.png

http://127.0.0.1/sqli-labs-master/Less-64/index.php?id=1)) and if(ascii(substr(database(),1,1))=99,1,sleep(5))--+  

Less-65

("变量")闭合
SQLi-LABS 学习SQL注入(less 54-less65 )_第41张图片
图片.png
SQLi-LABS 学习SQL注入(less 54-less65 )_第42张图片
图片.png
http://localhost/sqli-labs-master/Less-65/?id=1") and if(ascii(substr(database(),1,1))=99,1,sleep(5))--+ 

总结

1.注入步骤,先看是否会报错,如果有报错直接就能看到是什么闭合方式,然后可以用union注入,updatexml、extractvalue函数显错注入或者select count(*),concat() from information_schmea.tables where table_schema=' ' group by x。如果不会报错,看正确和错误页面显示信息是否一样,如果不一样可以用布尔盲注,时间盲注,如果一样的话只能用时间盲注。

2.我认为最重要的步骤是在不会显错的情况下去判断闭合方式,有时候会因为引号或者括号没有闭合以及MySQL的隐式转换导致正确显示信息,这时候要用and 1=0 1=1或者 and if(1=1,sleep(5),null)去判断是否是真正的闭合方式。当然如果仍然判断不出来的话,继续注入,如果发现错误可能就是闭合方式判断错误

3.需要尝试的闭合方式(),(()),' '," ",(' '),(" "),((' ')),((" ")),数字型

4.当引号被转以尝试宽字节注入,
注释被过滤就闭合后面多出来的闭合符号,
空格被过滤尝试%a0,/**/,加括号等方式,
and,or被过滤,用aandnd和oorr代替,或者用逻辑运算符||和&&(%26%26),

5.union,select被过滤,可以用大小写绕过,还有一种是union和select在一起的时候会被过滤

你可能感兴趣的:(SQLi-LABS 学习SQL注入(less 54-less65 ))