【Sword系列】第七届全国残疾人职业技能大赛样题-网络安全-日志审计
【摘要】 Wireshark(前称Ethereal)是一个网络数据包分析软件。网络数据包分析软件的功能是截取网络数据包,并尽可能显示出最为详细的网络数据包数据。
ASCII是一种字符编码标准,全称为American Standard Code for Information Interchange(美国信息交换标准代码)。
前言
Wireshark(前称Ethereal)是一个网络数据包分析软件。网络数据包分析软件的功能是截取网络数据包,并尽可能显示出最为详细的网络数据包数据。在过去,网络数据包分析软件是非常昂贵,或是专门属于营利用的软件,Wireshark的出现改变了这一切。在GNU通用公共许可证的保障范围底下,用户可以以免费的代价获取软件与其代码,并拥有针对其源代码修改及定制化的权利。Wireshark是目前全世界最广泛的网络数据包分析软件之一。
ASCII是一种字符编码标准,全称为American Standard Code for Information Interchange(美国信息交换标准代码)。它是将常用的字符和符号分别用数字来表示,以便计算机存储和传输。 ASCII编码使用7位二进制数来表示每个字符,共计128个字符,包括英文字母、数字、标点符号及一些控制字符。 ASCII编码在计算机通讯、文件传输、文本编辑等领域得到广泛应用,并被现代计算机系统所支持和继承。
一、日志审计
1.打开题目
2.解题
1、下载文件发现是一堆url,可以得出是url注入
进行url解码
记住flag的
101+1=102 -->f
107+1=108 -->l
96+1=97 -->a
102+1=103 -->g
去找101、107、96、102
依次类推记下 flag 每一个 字符的 ascii 值,然后+1,对应ASCII表
脚本如下
# coding:utf-8
import re
import urllib
f = open('D:/access.log','r') # 下载的access.log文件的绝对路径,笔者是存在了d盘根目录下~
lines = f.readlines()
datas = []
for line in lines:
t = urllib.unquote(line) # 就是将文本进行 urldecode 解码
if '1765' in t and 'flag' in t: # 过滤出与flag相关,正确的猜解(只要200的)
datas.append(t)
flag_ascii = {}
for data in datas:
matchObj = re.search( r'LIMIT 0,1\),(.*?),1\)\)>(.*?) AND', data) # 在date 中搜索符合正则表达的字符串并 将匹配的字符串存入变量 matchObj 中
if matchObj:
key = int(matchObj.group(1)) # 取变量matchObj 中 的第一个括号里的内容 (也就是上条语句中的 (.*?)中的内容)并转为10进制
value = int(matchObj.group(2))+1 # 取变量matchObj中的第二个括号里的内容,并转为 10 进制
flag_ascii[key] = value # 使用字典,保存最后一次猜解正确的ascii码
flag = ''
for value in flag_ascii.values():
flag += chr(value)
print flag
得到flag:
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)