------这种类型的题目遇到过三次了,可能后边儿还会遇到整个脚本好一些,干瞪眼睛看,估计眼睛都瞪干
题目:SQL注入
目标:access_log
分析:就是个sql盲注的脚本在跑,经典流程:查库,查表,查字段,查内容。然后记录在了log文件里边儿,
可以通过注入的反馈长度来判断我们需要提取的目标值,根据这道题的脚本如下:
# coding : utf-8 import re from urllib.parse import unquote file_name = "access_1.log" pattern_string = "select%20flag%20from%20sqli.flag" #file_name = input("输入文件名,文件记得要在当前脚本目录下:") #pattern_string = input("复制个特征值过来,比如select,flag啥的:") flag = '' # 打开文件以及读取行数 get_File = open(file_name, "r+") get_line = get_File.readline() while get_line: get_Data = re.search(pattern_string, get_line) if get_Data: get_Data_Num = re.search(r'4[7-8][0-1]?.*', get_Data.string) if get_Data_Num: flag += (re.findall(r"%20=%20\'(.+?)\'", get_Data_Num.string))[0] print(unquote(flag[:-1], 'utf-8')) get_line = get_File.readline() get_File.close()
Get:flag{deddcd67-bcfd-487e-b940-1217e668c7db}