电谷杯 WP
头一次做工控相关的题目做的不太好
这里只有我明白的题目,队友web手做非常高分的题
最后惨痛第十名,其实很多题已经很接近了,唉。所以这次把快做出来的题,通过询问其他队伍,也给他记录下来
我做出来的
异常的PLC连接检查
首先打开数据包文件,发现是S7协议
这种题的一个套路就是找写入的字节
所以我们筛选一下s7 写入的数据包s7comm.param.func==0x5
根据上面文件名提示:S7_Job
,所以要找所有Job的数据包
说以筛选的条件为:s7comm.param.func==0x5&&s7comm.header.rosctr=="Job"
然后我们全选一下,把他弄成txt文本(笨方法)
所以搓个python脚本把data抠出来
1 | flag = bytearray() |
异常的产线(好运气还让我拿了个1血)
modbus-alarm.pcapng附件名字透露了考察modbus协议,还是根据查到的套路筛选出,写线圈和写寄存器。
使用((modbus.func_code == 5 )||(modbus.func_code == 6))
筛选一下,在第二个写寄存器中,发现了点不一样的。
base32的fl对应了MZWG
所以我们手动把写寄存器的抠出来就行了,这里千万注意一下要用时间顺序排序,我一开始就卡这里了,后面顺利拿下。
1 | MZWGCZ33ONSXCZTKNJYXG4L5 -> flag{seqfjjqsq} |
神奇的104
根据提示直接过滤一下104报文。iec60870_104
过滤了一下之后,发现报文最后一位会变动,所以考虑到二进制。
方法就是把他提出了,然后用CyberChef把他解出来。这里有个坑,就是他其实需要加上ip.dst==192.168.3.129
这个筛选条件,当然这里纯试出来的
我们依然使用导出txt的方式来扣数据,怎么导出我前面有写。嗦个脚本最后
1 | with open("104.txt") as f: |
以下是失之交臂的题目
数据的异常
发现是base64的数据,把他都抠出来。发现是个诗,但是大写字母拼起来就是FLAG啥的
但是最后要把它转成小写,这里主要是最后没时间做了。
失灵的组件
下载下来看一下其实是个zip压缩包,解压一下。
开开文件发现了个提示,应该是拿这个打开
经过了一些漫长的下载安装,终于能打开了。
此时我们点击脚本,动作,变量,全局
在这里就发现了这种可疑数据,拿出来。我在这里就是觉得这个没有flag啥的,但是其实褒一个flag{}就行,我吐了
其他的题我也不会了,梯形图那个需要的博图18倒是下载了,但是看起来巨麻烦就没做。
- 标题: 电谷杯 WP
- 作者: moshui
- 创建于 : 2024-05-17 17:39:20
- 更新于 : 2024-05-18 00:27:42
- 链接: https://www.moshui.eu.org/2024/05/17/电谷杯-WP/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。