流量分析-misc-攻防世界
流量分析-misc-攻防世界
1.描述为sql注入,查看流量包的http协议,看看get请求是什么。
id=1'%20and%20ascii(substring((select%20keyid%20from%20flag%20limit%200,1),1,1))=38%23大体可以取字符串中的字符=后面的ascii值
2.substring函数用于取字符串的特定位置,从1取到38,当ascii值等于取得字符时,页面会打印出“文章内容:......”
3.写个脚本取位置为1-38,最后一个该位置对应的ascii。自己写的脚本太low,附上WP里的脚本吧
import reimport os
def getflag(contents):
req_reg = re.compile(r'0,1\),(\d+),1\)\)=(\d+)%23')
results = req_reg.findall(contents)
flag_map = {}
for result in results:
if result[0] in flag_map:
if int(result[1]) > flag_map[result[0]]:
flag_map[result[0]] = int(result[1])
else:
flag_map[result[0]] = int(result[1])
flag = ""
for i in range(1,39):
flag += chr(flag_map[str(i)])
print(flag)
if __name__ == "__main__":
basedir = os.path.dirname(__file__)
filename = "misc.pcapng"
file_path = os.path.join(basedir, filename)
print(filename)
with open(file_path, 'rb') as f:
getflag(f.read())