1、比赛详情
比赛时间:2022年7月15日10:00-2022年7月17日10:00。
比赛形式:个人解题赛(自己创建单人队伍:将左侧抽屉展开后找到 Dashboard > Team 选项新建一个即可。)
比赛链接:CTFm
比赛平台:Power by CTFm
特别注意:请不要在注册时使用腾讯企业邮箱(个人邮箱不影响),以免收不到验证邮件。
2、大赛赛制
本次赛事采用线上CTF夺旗赛的比赛模式,全方位考核参赛者综合素质。比赛采用混合动态计分模式(题目分值随解对题目人数增多动态递减),参赛队通过提交正确flag从而得到对应的分值,最终按照积分高低和提交flag时间进行排名。
3、比赛纪律
以下情况将视为违规,赛事组织委员会有权取消参赛者的参赛资格:
参赛过程中出现违反国家相关法律、法规的行为;
涉嫌抄袭、代打、串题、交换解题思路等作弊行为;
攻击比赛平台或在规则之外恶意攻击其他竞赛选手,破坏比赛公平性、稳定性的行为;
在比赛过程中发现或者被举报认定存在的其他违规行为。
4、成绩认定
选手需于比赛结束12小时内提交wp至邮箱NepnepCTF@163.com,邮件标题格式:排名-比赛平台id-联系方式,以便主办方在最短时间内进行审核。
5、比赛奖品
大赛前3名:水晶奖杯+纪念证书+周边礼品
大赛3-10名:纪念证书+周边礼品
大赛10-30名:周边礼品
六、联系方式
赛事交流QQ群:883836810。
比赛组委会邮箱:NepnepCTF@163.com
Challenges
Misc:
签到题
做题流程:binwalk提取图片中隐藏的压缩包,看到是多层压缩包嵌套,使用自动解压脚本(网上都有),等一段时间获得最后一个压缩包,解压需要密码,查看16进制,发现存在伪加密,修改伪加密,获得一份流量,放进kali中使用工具tshark提取usb流量。
提取指令:tshark -r keyboard.pcap -Y 'usb.src == "1.5.1"' -T fields -e usbhid.data >usbdata1.txt,使用脚本添加冒号
f=open('usbdata.txt','r')
fi=open('out.txt','w')
while 1:
a=f.readline().strip()
if a:
if len(a)==16: # 鼠标流量的话len改为8
out=''
for i in range(0,len(a),2):
if i+2 != len(a):
out+=a[i]+a[i+1]+":"
else:
out+=a[i]+a[i+1]
fi.write(out)
fi.write('\n')
else:
break
fi.close()
接着使用脚本获取flag
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":