首页 > 其他分享 >流量分析刷题记录(一)writeup

流量分析刷题记录(一)writeup

时间:2024-11-26 11:32:31浏览次数:6  
标签:http writeup 流量 flag 本题 txt 压缩包 刷题

本系列基本是根据b站上风二西大佬的视频边做题、边积累、边总结而成的,大家可以去支持一下

题目下载链接:https://pan.baidu.com/s/14I-Lm1FvhXrmsySbmtpKog?pwd=flag

提取码:flag

一:flag明文

       直接ctrl+F选择分组字节流,搜索字符串flag,成功找到flag

至此得到本题flag:flag{This_is_a_f10g}

二、flag编码

1、666c6167

第一步:

       尝试ctrl+F选择分组字节流,搜索字符串flag,发现不能直接搜出flag,尝试将flag字符串进行16进制编码后再次搜索

第二步:

       flag的16进制为:66 6c 61 67,再次搜索得到一段含flag的16进制编码,解码得到flag

至此得到本题flag:flag{7FoM2StkhePz}

2、attack_log_analysis

       这题和上一题一样,将flag字符串进行16进制编码为:666c6167后进行搜索,发现一段包含flag的16进制编码,解码后得到flag

至此得到本题flag:flag{".str_rot13($str)."}

3、可恶的黑客

       这个题是搜索flag的Unicode编码:flag,但是题目把flag关键字改成了f1ag,导致直接搜索flag的Unicode编码搜不出来,可以直接搜f然后显示分组字节,复制后转Unicode编码得到flag

至此得到本题flag:f1ag{si11yb0yemmm}

三、压缩包流量

1、caidao

第一步:

       打开流量包,点击统计->协议分级发现http协议的流量占比很高,选中http流量->作为过滤器应用->选中,过滤http流

第二步:

       过滤http流后选中一个流量右击追踪tcp流,发现是菜刀流量(题目也能看得出来),上传了一句话木马

第三步:

查看后面的流量,追踪tcp流在最后发现一堆不知道是什么的东西,解码前面的base64(流量包里的东西一般会有URL编码,所以一般可以先URL 解码再使用base64解码)

这里解码得到:

@ini_set("display_errors","0");@set_time_limit(0);if(PHP_VERSION<'5.3.0'){@set_magic_quotes_runtime(0);};echo("X@Y");$F="C:\\wwwroot\\flag.tar.gz";$fp=@fopen($F,'r');if(@fgetc($fp)){@fclose($fp);@readfile($F);}else{echo('ERROR:// Can Not Read');};echo("X@Y");die();

发现有一个tar.gz压缩包,基本可以确定是发送了一个压缩包,所以最后那一堆不知道是什么的东西应该就是压缩包

第四步:

方法一:

       选中这个流量的返回流量,右击选中显示分组字节,设置开始于3,去掉X@Y,选择解码为压缩,得到flag

方法二:

       右击选中显示分组字节,选择显示为原始数据,然后点击另存为,导出压缩包,解压得到flag

至此得到本题flag:key{8769fe393f2b998fa6a11afe2bfcd65e}

2、test

第一步:

       打开流量包,点击统计->协议分级发现http协议的流量占比很高,选中http流量->作为过滤器应用->选中,过滤http流

第二步:

       过滤了http流,看到有上传一句话木马,查看后面的流量包发现有压缩包的特征,最后那堆东西就是压缩包

第三步:

方法一:

       选中这个流量的返回流量,右击选中显示分组字节,设置开始于3,去掉->|,选择解码为压缩,得到flag

方法二:

       右击选中显示分组字节,选择显示为原始数据,然后点击另存为,导出压缩包,解压得到flag

至此得到本题flag:ISG{China_Ch0pper_Is_A_Slick_Little_Webshe11}

3、被偷走的文件

第一步:

       打开流量包尝试直接搜索flag,发现在一个ftp协议的流量包中,有一个flag.rar

第二步:

       搜索关键字rar,发现一个rar压缩包,将其导出分组字节流,解压时发现需要密码

第三步:

       尝试暴力破解,得到密码为:5790,解压缩得到flag

至此得到本题flag:flag{6fe99a5d03fb01f833ec3caa80358fa3}

4、带密码的压缩包

第一步:

       打开流量包后直接搜索flag,能搜到一个flag{0a19b0453da898f5a8f4a7b3dfb53d74}但这个flag是假的,在搜索flag的过程中会发现很多flag.rar压缩包,推测flag应该是藏在压缩包中,搜索Rar,搜索时选择区分大小写,可以直接找到压缩包内容

第二步:

       由于是tcp协议,追踪流时会发现,在传输时会发现压缩包数据前面有个27FC,这个是tcp协议分段传输的标志位,直接导出可能导不全,可以追踪上面的http流量的返回包,然后导出分组字节流(导出时要将前面的菜刀标志去掉,也可以保存后用010editor修改)

第三步:

       导出来后发现压缩包有加密,而且用工具暴力破解不了,还是得用脚本,(使用时要将winrar安装目录下的Rar.exe复制到脚本和压缩包所在目录下)

风佬的脚本:

# -*- coding: utf-8 -*-
import subprocess
rar_name="flag.rar"   #压缩包名
#这个是字典爆破或者纯数字爆破,要用某一个把另一个注释起来就行了
#字典爆破
with open('dic.txt',"r",encoding='utf-8') as f:
    for p in f.readlines():
        cmd = "rar.exe e {0} -y -p{1}".format(rar_name,p.strip())
        r = subprocess.getstatusoutput(cmd)
        # print(r)
        # print(r[0])
        if r[0] == 0:
            print("pass = %s" % p)
            break
#纯数字爆破
# for p in range(0,999999):
#     cmd = "rar.exe e {0} -y -p{1}".format(rar_name,str(p))
#     r = subprocess.getstatusoutput(cmd)
#     if r[0] == 0:
#         print("pass = %s" % p)
#         break

        运行后得到pass = 123456,解压得到flag

至此得到本题flag:flag{3e3c7d63db892539f8c88a903bb6c7d1}

四:菜刀流量

1、liuliang

第一步:

打开流量包,点击统计->协议分级发现http协议的流量占比很高,选中http流量->作为过滤器应用->选中,过滤http流

第二步:

       在第最后一组流量处发现发现有菜刀特征的压缩包,在返回包处选择显示分组字节,选择显示为原始数据,直接另存为zip

第三步:

       解压时发现有密码,题目没有关于密码的提示,判断应该是伪加密使用010editor打开压缩包,ctrl+F搜索16进制504b0102,从50开始数到第九个字节,将09修改成00后保存,打开压缩包内的word文档,得到flag

至此得到本题flag:flag{2d6cb5b69212296f964dbc4f21171570}

2、菜刀666

第一步:

打开压缩包,点击统计->协议分级,发现大多是http流量

       点击统计->http->请求,发现应该是上传了有个1.php

第二步:

       过滤http流量,查看含1.php的流量,能看到是上传了一句话木马

       往后面看返回包,找到一个PK,这个是zip压缩包的头部,导出分组字节流保存成.zip文件

第三步:

       解压压缩包时发现要密码,尝试暴力破解无果后返回流量包查看,密码应该在流量包内,搜索password没有结果,过滤出http流的post请求

http.request.method==POST

在一处流量的分组详情中发现z2的值好像是一张图片,将其导出为key.txt,然后用010editor导入16进制,删除前面多余的东西,另存为图片,得到压缩包密码:Th1s_1s_p4sswd_!!!,最后解压得到flag

至此得到本题flag:flag{3OpWdJ-JP6FzK-koCMAK-VkfWBq-75Un2z}

五:misc4

第一步:打开流量包,点击统计->协议分级发现http协议的流量占比很高,在统计中选择http->请求

第二步:

       在最后发现应该可疑的askld3lkj234.php,搜索askld3lkj234.php关键字,在对应流量返回包的分组字节流中看到flag

至此得到本题flag:flag{FLAG-GehFMsqCeNvof5szVpB2Dmjx}

六、telnet

第一步:

看题目能得到一个提示,本题考的应该是telnet远程登入协议,直接过滤telnet协议,追踪tcp流量

第二步:

可以看到登入的账户的flag,对应的密码应该就是要提交的flag,因为发送包和接收包有重叠,不方便查看,可以在下方选择192.168.147.1——>192.168.147.23的对话,可以更直观的看到输入的账号和密码

第三步:

其中s和9之间的三个点其实是不可打印字符,显示为Hex,找到这三个点对应的16进制数"08",在ascii表中查看0x08表示退格,说明在是输入时这里应该是三次退格,退格后flag就变成了28d982kwalx8e 

至此得到本题flag:flag{28d982kwalx8e}

七、s7comm

第一步:

       直接ctrl+F搜索flag,在1003的分组字节流处发现flag,但是不完整

第二步:

       通看整个流量包发现大多数是read,有几处是write,长度稍长,可以采取长度排序的方式,找到含write的流量

第三步:

       查看这几处含write的流量,在3009处发现从第35位写入了fd

       从第5位写入了1b

       从第34位写入了5

第四步:

       将flag复制出来,分别将第5位和第6位改成1b,第34位改成5,第35位改成fd

至此得到本题flag:flag{1b2c0163806149199f01431705cbe5fd}

八、蓝牙协议

OBEX是一种通信协议,用于在设备之间传输数据对象。它主要用于蓝牙和其他无线通信技术中,以实现设备间的数据共享和交互。

第一步:

点击统计,选择协议分级,过滤出OBEX协议,发现有一个7z的压缩包,直接导出分组字节流

第二步:

解压时发现需要密码,压缩包内的文件名提示了密码是蓝牙协议的pin

第三步:

       回到wireshak中,搜索字符串pin,在分组字节流中搜索没有结果,换成分组详情后找到应该pin的请求回复,展开分组详情看到pin的值为141854

第四步:

       输入密码解压缩后查看password_is_Bluetooth_PIN.txt得到flag

至此得到本题flag:flag{6da01c0a419b0b56ca8307fc9ab623eb}

九、USB-键盘流量

这个题我看到风佬直接用的脚本,将脚本放在和流量包同一个目录下,直接cmd运行即可得到flag
 

# -*- coding: cp936 -*-

#该脚本直接在流量包所在的目录下cmd运行

import os

os.system("tshark -r test.pcapng -T fields -e usb.capdata > usbdata.txt")

#test.pcapng改成要提取的流量包名字

#提取usb.capdata字段的内容,然后重定向到usbdata.txt,这里需要将wireshark安装目录下的tshark.exe配置在环境变量path中

normalKeys = {"04":"a", "05":"b", "06":"c", "07":"d", "08":"e", "09":"f", "0a":"g", "0b":"h", "0c":"i", "0d":"j", "0e":"k", "0f":"l", "10":"m", "11":"n", "12":"o", "13":"p", "14":"q", "15":"r", "16":"s", "17":"t", "18":"u", "19":"v", "1a":"w", "1b":"x", "1c":"y", "1d":"z","1e":"1", "1f":"2", "20":"3", "21":"4", "22":"5", "23":"6","24":"7","25":"8","26":"9","27":"0","28":"<RET>","29":"<ESC>","2a":"<DEL>", "2b":"\t","2c":"<SPACE>","2d":"-","2e":"=","2f":"[","30":"]","31":"\\","32":"<NON>","33":";","34":"'","35":"<GA>","36":",","37":".","38":"/","39":"<CAP>","3a":"<F1>","3b":"<F2>", "3c":"<F3>","3d":"<F4>","3e":"<F5>","3f":"<F6>","40":"<F7>","41":"<F8>","42":"<F9>","43":"<F10>","44":"<F11>","45":"<F12>"}


shiftKeys = {"04":"A", "05":"B", "06":"C", "07":"D", "08":"E", "09":"F", "0a":"G", "0b":"H", "0c":"I", "0d":"J", "0e":"K", "0f":"L", "10":"M", "11":"N", "12":"O", "13":"P", "14":"Q", "15":"R", "16":"S", "17":"T", "18":"U", "19":"V", "1a":"W", "1b":"X", "1c":"Y", "1d":"Z","1e":"!", "1f":"@", "20":"#", "21":"$", "22":"%", "23":"^","24":"&","25":"*","26":"(","27":")","28":"<RET>","29":"<ESC>","2a":"<DEL>", "2b":"\t","2c":"<SPACE>","2d":"_","2e":"+","2f":"{","30":"}","31":"|","32":"<NON>","33":"\"","34":":","35":"<GA>","36":"<","37":">","38":"?","39":"<CAP>","3a":"<F1>","3b":"<F2>", "3c":"<F3>","3d":"<F4>","3e":"<F5>","3f":"<F6>","40":"<F7>","41":"<F8>","42":"<F9>","43":"<F10>","44":"<F11>","45":"<F12>"}


nums = []

keys = open('usbdata.txt')

for line in keys:

    #print(line)

    if len(line)!=17: #���ȹ��˵����������豸��USB����

         continue

    nums.append(line[0:2]+line[4:6]) #ȡһ�����ֽ�

    #print(nums)

keys.close()

output = ""

for n in nums:

    if n[2:4] == "00" :

        continue


    if n[2:4] in normalKeys:

        if n[0:2]=="02": #��ʾ������shift

            output += shiftKeys [n[2:4]]

        else :

            output += normalKeys [n[2:4]]

    else:

        output += '[unknown]'

print('output :' + output)

运行结果:

       除此外,我在网上看到有其他大佬的脚本,这里补充积累一下,先使用tshart工具从流量包中提取capdata重定向到usbdata.txt中,将usbdata.txt和脚本放在同一目录下运行得到flag

tshark -r test.pcapng -T fields -e usb.capdata | sed '/^\s*$/d' > usbdata.txt 

# -*- coding: cp936 -*-

#该脚本直接在流量包所在的目录下cmd运行

import os

os.system("tshark -r test.pcapng -T fields -e usb.capdata > usbdata.txt")

#test.pcapng改成要提取的流量包名字

#提取usb.capdata字段的内容,然后重定向到usbdata.txt,这里需要将wireshark安装目录下的tshark.exe配置在环境变量path中

normalKeys = {"04":"a", "05":"b", "06":"c", "07":"d", "08":"e", "09":"f", "0a":"g", "0b":"h", "0c":"i", "0d":"j", "0e":"k", "0f":"l", "10":"m", "11":"n", "12":"o", "13":"p", "14":"q", "15":"r", "16":"s", "17":"t", "18":"u", "19":"v", "1a":"w", "1b":"x", "1c":"y", "1d":"z","1e":"1", "1f":"2", "20":"3", "21":"4", "22":"5", "23":"6","24":"7","25":"8","26":"9","27":"0","28":"<RET>","29":"<ESC>","2a":"<DEL>", "2b":"\t","2c":"<SPACE>","2d":"-","2e":"=","2f":"[","30":"]","31":"\\","32":"<NON>","33":";","34":"'","35":"<GA>","36":",","37":".","38":"/","39":"<CAP>","3a":"<F1>","3b":"<F2>", "3c":"<F3>","3d":"<F4>","3e":"<F5>","3f":"<F6>","40":"<F7>","41":"<F8>","42":"<F9>","43":"<F10>","44":"<F11>","45":"<F12>"}


shiftKeys = {"04":"A", "05":"B", "06":"C", "07":"D", "08":"E", "09":"F", "0a":"G", "0b":"H", "0c":"I", "0d":"J", "0e":"K", "0f":"L", "10":"M", "11":"N", "12":"O", "13":"P", "14":"Q", "15":"R", "16":"S", "17":"T", "18":"U", "19":"V", "1a":"W", "1b":"X", "1c":"Y", "1d":"Z","1e":"!", "1f":"@", "20":"#", "21":"$", "22":"%", "23":"^","24":"&","25":"*","26":"(","27":")","28":"<RET>","29":"<ESC>","2a":"<DEL>", "2b":"\t","2c":"<SPACE>","2d":"_","2e":"+","2f":"{","30":"}","31":"|","32":"<NON>","33":"\"","34":":","35":"<GA>","36":"<","37":">","38":"?","39":"<CAP>","3a":"<F1>","3b":"<F2>", "3c":"<F3>","3d":"<F4>","3e":"<F5>","3f":"<F6>","40":"<F7>","41":"<F8>","42":"<F9>","43":"<F10>","44":"<F11>","45":"<F12>"}


nums = []

keys = open('usbdata.txt')

for line in keys:

    #print(line)

    if len(line)!=17: #���ȹ��˵����������豸��USB����

         continue

    nums.append(line[0:2]+line[4:6]) #ȡһ�����ֽ�

    #print(nums)

keys.close()

output = ""

for n in nums:

    if n[2:4] == "00" :

        continue


    if n[2:4] in normalKeys:

        if n[0:2]=="02": #��ʾ������shift

            output += shiftKeys [n[2:4]]

        else :

            output += normalKeys [n[2:4]]

    else:

        output += '[unknown]'

print('output :' + output)

运行结果:

十、USB-鼠标流量

        还是先使用tshart工具,不过不一样的是这次是从流量包中提取usbhid.data重定向到usbdata.txt中,将usbdata.txt和脚本放在同一目录下运行得到flag

       话不多说,上脚本!(运行时将中文注释删掉)
 

# -*- coding: cp936 -*-

#该脚本直接在流量包所在的目录下cmd运行

import os

os.system("tshark -r test.pcapng -T fields -e usb.capdata > usbdata.txt")

#test.pcapng改成要提取的流量包名字

#提取usb.capdata字段的内容,然后重定向到usbdata.txt,这里需要将wireshark安装目录下的tshark.exe配置在环境变量path中

normalKeys = {"04":"a", "05":"b", "06":"c", "07":"d", "08":"e", "09":"f", "0a":"g", "0b":"h", "0c":"i", "0d":"j", "0e":"k", "0f":"l", "10":"m", "11":"n", "12":"o", "13":"p", "14":"q", "15":"r", "16":"s", "17":"t", "18":"u", "19":"v", "1a":"w", "1b":"x", "1c":"y", "1d":"z","1e":"1", "1f":"2", "20":"3", "21":"4", "22":"5", "23":"6","24":"7","25":"8","26":"9","27":"0","28":"<RET>","29":"<ESC>","2a":"<DEL>", "2b":"\t","2c":"<SPACE>","2d":"-","2e":"=","2f":"[","30":"]","31":"\\","32":"<NON>","33":";","34":"'","35":"<GA>","36":",","37":".","38":"/","39":"<CAP>","3a":"<F1>","3b":"<F2>", "3c":"<F3>","3d":"<F4>","3e":"<F5>","3f":"<F6>","40":"<F7>","41":"<F8>","42":"<F9>","43":"<F10>","44":"<F11>","45":"<F12>"}


shiftKeys = {"04":"A", "05":"B", "06":"C", "07":"D", "08":"E", "09":"F", "0a":"G", "0b":"H", "0c":"I", "0d":"J", "0e":"K", "0f":"L", "10":"M", "11":"N", "12":"O", "13":"P", "14":"Q", "15":"R", "16":"S", "17":"T", "18":"U", "19":"V", "1a":"W", "1b":"X", "1c":"Y", "1d":"Z","1e":"!", "1f":"@", "20":"#", "21":"$", "22":"%", "23":"^","24":"&","25":"*","26":"(","27":")","28":"<RET>","29":"<ESC>","2a":"<DEL>", "2b":"\t","2c":"<SPACE>","2d":"_","2e":"+","2f":"{","30":"}","31":"|","32":"<NON>","33":"\"","34":":","35":"<GA>","36":"<","37":">","38":"?","39":"<CAP>","3a":"<F1>","3b":"<F2>", "3c":"<F3>","3d":"<F4>","3e":"<F5>","3f":"<F6>","40":"<F7>","41":"<F8>","42":"<F9>","43":"<F10>","44":"<F11>","45":"<F12>"}


nums = []

keys = open('usbdata.txt')

for line in keys:

    #print(line)

    if len(line)!=17: #���ȹ��˵����������豸��USB����

         continue

    nums.append(line[0:2]+line[4:6]) #ȡһ�����ֽ�

    #print(nums)

keys.close()

output = ""

for n in nums:

    if n[2:4] == "00" :

        continue


    if n[2:4] in normalKeys:

        if n[0:2]=="02": #��ʾ������shift

            output += shiftKeys [n[2:4]]

        else :

            output += normalKeys [n[2:4]]

    else:

        output += '[unknown]'

print('output :' + output)

       然后在用gunplot工具,将坐标转换成图片

plot " result.txt "

至此得到本题flag:flag{HDIM3}

十一:无线流量

第一步:

        打开流量包发现很多802.11,可以看出这是一道无线流量的题

802.11也叫做无线局域网通用标准,现今无线局域网(WLAN)普遍使用的标准

无线流量题一般要先知道无线流量包的密码,密码要么直接告诉,要么就是需要爆破,爆破的话一般用aircrack-ng来爆破

爆破:

aircrack-ng -w [密码字典] [要爆破的流量包]

aircrack-ng -w dic.txt ctf.pcap

第二步:

解码:

airdecap-ng [要解密的流量包] -e [流量包的ESSID] -p [爆破出来的密码] -o [生成的流量包名]

airdecap-ng ctf.pcap -e ctf -p password1

第三步:

        打开解密后的流量包,搜索flag

至此得到本题flag:flag{H4lf_1s_3n0ugh}

十二:SSL/TLS流量

第一步:

       打开流量包,协议分级中发现大量的TLS协议,推测出该流量包是SSL/TLS流量包

第二步:

       题目给了一个ssl_log.log,应该就是私钥,用私钥解密数据包后再显示额外内容,点击编辑->首选项->协议(protocols)->TLS->(Pre)-Master-Secret log filename,添加私钥

第三步:

       添加私钥后流量包中出现了额外的http流量,在统计->http>请求中发现flag.txt

       直接过滤http流量,找到该流量,查看flag.txt流量包的返回包,得到flag

至此得到本题flag:flag{This_is_tr0e_flAg}

十三:工业协议分析

       这个题中又学到了一个做流量题的小技巧,可以将流量按长度排序,重点关注长度和其他流量长度非常不一样的流量

第一步:

       点击length将流量按长度排序,发现有一处流量长度明显异于其他流量,点击查看

第二步:

       在分组字节流中的数据链路层发现一段base64加密的密文,并提示是png,

第三步:

       显示分组字节流,选择解码为base64,显示为图像,从第十八为开始,去掉前面不需要的东西

至此得到本题flag:flag{ICS-mms104}

十四:getshell

第一步:

       打开流量包协议分级发现没有http协议,但是有很多tcp协议,过滤tcp协议后在最后看到有很多4444端口的tcp流量

第二步:

        4444端口通常是反弹shell的端口号,追踪tcp流查看,在最后一组流量中发现在cmd执行的命令,查看了一个txt文件,有一段base64,解码一下,得到flag

至此得到本题flag:CCTF{do_you_like_sniffer}

标签:http,writeup,流量,flag,本题,txt,压缩包,刷题
From: https://blog.csdn.net/2301_79697181/article/details/144027285

相关文章

  • 私域流量做不好的企业,90%是踩到这5大误区
    现如今,许多企业在私域流量的运营中却频频踩坑,导致效果不佳。本文将揭示私域流量运营中最常见的五大误区,帮助企业避开这些陷阱,实现更高效的私域运营。误区一:所有企业都适合做私域流量私域流量的最终目的是通过老用户的复购和分享来实现增长。然而,并非所有行业都适合私域运营......
  • 乐维网管平台(八):深度解析网络流量分析
    一、网络流量分析概述网络流量分析,作为现代网络管理中的一项核心能力,旨在深入洞察网络中的数据流动情况。通过捕捉并分析网络数据包,这一技术能够揭示网络流量的来源、去向、类型、速度以及变化趋势,为网络管理员提供宝贵的洞察信息。网络流量分析不仅限于对数据的简单统计,更在于通......
  • 【力扣热题100】[Java版] 刷题笔记-448. 找到所有数组中消失的数字
    题目:448.找到所有数组中消失的数字给你一个含 n 个整数的数组 nums ,其中 nums[i] 在区间 [1,n] 内。请你找出所有在 [1,n] 范围内但没有出现在 nums 中的数字,并以数组的形式返回结果。解题思路依据题目,有两种解题方式:第一种是暴力破解,直接创建一个1到n......
  • [CTF]2024 强网杯青少年专项赛 writeup
    CryptoClasics打开题目,发现如下的cyberchef界面密文为JBtDQ0JxQxVTPDGYF05EJNtSPSRPOSaAF0JHQ0JLKlNNLlOYG0lQLC1NIBfTOSiGEEFIFT9OBEBUEEPPS05IMSuKJxW9SD09那么通常只需要倒着来即可。vigeneredecode一次,key为GAMELAB然后Atbash来一次(https://blog.csdn.net/weixin_4702......
  • Week13 WriteUp
    easy_pop首先访问/www.zip目录,获得源码.题目要求在hello这里传入一个pop链.分析一下不难得出:先调用Start的__wakeup();将name变量连接到Info,通过echo调用Info的__toString();将其中的file['filename']变量连接到Room,通过指向其不存在的元素调用Room的__get();将a变量连接回Ro......
  • redis 流量增加过多问题排查解决
    背景Java项目,使用Redis集群。现象Redis集群,单台流量增加过多。在redis服务器上:iftop-npP排查过程发现流量上涨是同一台机器IP尾号3。到这台机器上查看。top命令查看进程idtop-H-p1748查看具体线程信息,可以看到,有三个线程执行100多小时,而且占用较多cpu资源,线程没......
  • 【剑指Offer刷题系列】两个单链表相交的起始节点
    问题描述给你两个单链表的头节点headA和headB,请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点,返回null。图示两个链表在节点c1开始相交:题目数据保证整个链式结构中不存在环。注意,函数返回结果后,链表必须保持其原始结构。自定义评测:......
  • Leetcode刷题5--- 最长回文子串 Python
    Leetcode刷题5—最长回文子串Python问题描述给你一个字符串s,找到s中最长的回文子串。示例示例1:“”"输入:s=“babad”输出:“bab”解释:“aba”同样是符合题意的答案。“”"示例2:“”"输入:s=“cbbd”输出:“bb”“”"提示......
  • 1+X应急响应(网络)网络流量分析技术:
    网络流量分析技术:全流量分析:Wireshark常用功能:Wireshark界面:Wireshark常用的使用方法:        全流量分析-分析web攻击:       全流量分析-分析DNS攻击:  全流量分析-分析病毒:  全流量分析-分析ARP攻击:    NetFlow流量分析:......
  • HTB:WifineticTwo[WriteUP]
    目录连接至HTB服务器并启动靶机信息搜集使用rustscan对靶机TCP端口进行开放扫描使用nmap对靶机开放端口进行脚本、服务扫描使用curl访问靶机8080端口使用浏览器直接访问/login路径漏洞利用使用searchsploit搜索该WebAPP漏洞PayloadUSER_FLAG:bb4486cda052880dad71c535......