首先推荐一篇文章。复现都讲的很清楚了
https://paper.seebug.org/510/#03
这里我用kali做实验。
首先mysql默认登陆不需要密码。将用户的密码和host改为空和%
开启wireshark。抓lo网卡
将上面的原始数据。复制到1.txt
用脚本对其URL编码
data=open('1.txt','r').read()
d=''
for i in range(0,len(data),2):
d+='%25'+str(data[i:i+2])
print(d)
在本地测试的时候。可以不用%25。直接用%就行。
远程打的时候。需要将%再次进行URL编码为%25
在BURP第一次发送的时候。会将%25解码为%。然后第二次通过curl打的时候。%xx%xx会进行第二次解码。
由于之前抓MYSQL数据的时候。导出一句话后。没exit。所以这里BURP一直在等待
关系不大。shell是照样写进去了