题目文件:https://files.cnblogs.com/files/nul1/access.log.tar
直接搜索flag发现是一题关于二分法注入。
页面为200的字节大小为1765,所以可以通过读取每行判断是否有1765以及有没有flag的关键字样,进而提取值。
脚本如下所示:
# coding:utf-8 import re import urllib f = open('access.log','r') lines = f.readlines() datas = [] for line in lines: t = urllib.unquote(line) if '1765' in t and 'flag' in t: # 过滤出与flag相关,正确的猜解 datas.append(t) flag_ascii = {} for data in datas: matchObj = re.search( r'LIMIT 0,1\),(.*?),1\)\)>(.*?) AND', data) if matchObj: key = int(matchObj.group(1)) value = int(matchObj.group(2))+1 flag_ascii[key] = value flag = '' for value in flag_ascii.values(): flag += chr(value) print flag