当前位置: 代码迷 >> 综合 >> 第二十八题——[GXYCTF2019]BabySQli
  详细解决方案

第二十八题——[GXYCTF2019]BabySQli

热度:62   发布时间:2023-11-19 19:40:21.0

题目地址:https://buuoj.cn/challenges

解题思路,

第一步:进入题目,看到登录,推测是使用sql注入

在这里插入图片描述

第二步:确定字段

  1. 使用order by确定字段发现被拦截
    在这里插入图片描述
  2. 使用union select确定字段,发现有3个字段,推测使用语句为select * from xxx where username=xxx and password=xxx

第三步:使用union select构建假字段

  1. 使用union select确定username位置,先输入1'union select 'admin',2,3#提示无法识别admin,再输入1'union select 1,admin,3#提示密码错误,所以第一栏是序号,第二栏是用户名,第三栏是密码
  2. 用户名输入1'union select 1,'admin','e10adc3949ba59abbe56e057f20f883e',密码输入:123456,发现flag:flag{f9614a8a-f4fa-4751-a8e6-3b6119beaa9e},其中e10adc3949ba59abbe56e057f20f883e为123456的md5加密值

知识点:

在联合查询并不存在的数据时,联合查询就会构造一个虚拟的数据