BUUCTF:[GYCTF2020]Ezsqli --过滤了information_schem ------ 无列明注入之过滤了union 使用ascii偏移来做

这篇博客记录了一次SQL注入的挑战,其中information_schema和union被过滤,作者通过学习和实践,发现可以使用sys.schema_table_statistics_with_buffer和sys.x$schema_flattened_keys来获取表名,并利用异或符号 '^' 进行无列名注入。在Python脚本中,注意到POST参数的引用问题。尽管遇到429错误,但最终通过构造payload成功进行盲注并获取数据库信息。
摘要由CSDN通过智能技术生成

首次于2021.3.15
修改于2021.5.13

一、自己做:

直截了当的sql注入,先用fuzz字典跑一下:

information_schema.table等被过滤了,
而且union 也被过了,
尝试了 || 和&& 等没有过滤,并且strsub,limit等都没有过滤,初步判断盲注应该时可以的。
但是 information_chema等被过滤了,表和 列都查不出来,

二、学到的&&不足:

可以看这个,里面又讲关于这个知识点 的。

  1. 当information_schema等被过滤的时候,能够查出数据库的名字,但是表明不知道,这时可以用这个来sys.schema_table_statistics_with_buffer 。sys.x$schema_flattened_keys来 爆表明,然后列明不知道的话,,没事可以用无列名注入
  2. ^ 这个符号异或,也可以在bool盲注中利用,尤其是当 || or 等常用的字符被过滤的时候可以派上用场
  3. python脚本post传参的生活,key记得要带上引号,我开始写脚本的生活,就在这里呆了好一会,,

三、学习WP:

  1. 数据库
id=1^(ascii(substr(database(),1,1))=000)^1

用burp总是429,所以就些python的脚本来跑flag了

post脚本写的不多,这里笑trick不错,先整个payload,然后py对payload进行format,然后data数组直接就带入data就好

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值