3.24网络攻防选拔题部分write up
20175221 3.24网络攻防选拔题部分write up
-
Q1:百度一下,你就知道
- 解压题目得到一个文件夹和一个网址
- 打开文件夹,有三张图片
- 用winhex和stegsolve查看三张图片,没有发现异常。Kali里面binwalk跑一下,也没有隐藏文件。不太像隐写题,可能是web,将目标移到网址上。
- 打开网址,F12开发者工具
- 发现最底下script下的字符串可疑,复制粘贴用base解。
- 将字符串先转base16,再转base64,得到flag。
-
Q2
- 解压题目得到一张图片,但是无法打开。
- 虚拟机里使用foremost分离文件,得到了一张全黑的图片。
- 使用stegsolve分析,一直往右点,发现二维码。
- 但发现扫码扫不上,才发现二维码黑白颠倒。打开PS,图像→调整→反相,得到正确二维码。
- 扫码得到flag
-
Q6
- 解压题目得到png图片,猜测是隐写
- 先用linux下binwalk分析图片,发现文件里有zlib格式的文件
- setgolve 查看图片,然后进行File Format
- 发现HEX的ID,使用python中的binascii.unhexlify()函数进行解压
-
import zlib import binascii import base64 id='789cad50c9929b400cfd201fc080170e39a89bc5cde2610966b9d160b7d90263ec61f9fa814a662ab75ca2523d3d49af2495fc2d2808b9008b03a9869a9fe0303eb6215b72558215578805b94a1264bd09f3a088baed63df7e7a59f29162935e778faa23fd9bd2fbca14df34762d83d48bf150b8e3ed48b1a4b813a05f13c7d919a58e8146e91154859889afba3576ca6182216ab93837d450ddf0939231b57e5a7af3ae3e1ca7f76b64814b38f8d79d786dfe36f2cd504905afc60cd85701d04235712f4851ca0f277de68afe2e3f7e42469d8d399d84a78d02b5d710fba35f465f567e1a165032d09eee35f25a2a48cc2e24317279d329a50d31eff2fb49686f4baeb85d90355a9984c63d167a66eadb8f4c7459d65c96da8e27faf94ef581515d9b735ced15b765444d3aaa078c94e3708dce6d128e3d9961438a5557bf121f460ba38e1670a4a15ce5e1583b8c370906f6f7eeb0b94c94f7babca9e734945f5e644c5424fb6f4dfa9fa20f47cb47431c9de75c90a704c3c1fcfa05c08f4f15a7c2ce' result =binascii.unhexlify(id) print result result = zlib.decompress(result) print result
- 得到一个base64字符的输出
-
1���IhoK��]�5Z���=zf�ۏLtY�\�ڎ'��N��Q]�s\��eDM:����p��m�=�aC�UW�F��p��\��X;�7 ��L������4�_^dLT$�oM���G�GC��\��������O��� S1ADBBQAAQAAAIkwl0yA7xr1WgAAAE4AAAAEAAAAY29kZZBLO2zwD3GMSCSMtRcZvaCKbe5rkpIsODsSDyYfFgejUaRYCwiQxf8bC4DQyABny//McbbPJBx4rUki3c3uloJ5D7yAwXo/YdJEWE+0yDcgEltLGmqErPPsSlBLAQI/ABQAAQAAAIkwl0yA7xr1WgAAAE4AAAAEACQAAAAAAAAAIAAAAAAAAABjb2RlCgAgAAAAAAABABgAAF3624Xa0wHGz/ish9rTAcbP+KyH2tMBUEsFBgAAAAABAAEAVgAAAHwAAADcAFtQeXRob24gMi43XQ0KPj4+IKh9qH2ofQ0KDQpUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6DQogIEZpbGUgIjxweXNoZWxsIzA+IiwgbGluZSAxLCBpbiA8bW9kdWxlPg0KICAgIKh9qH2ofQ0KWmVyb0RpdmlzaW9uRXJyb3I6IKh9qH2ofah9qH2ofah9qH2ofah9qH2ofah9qH2ofah9qH2ofah9qH2ofah9qH2ofah9qH2ofah9qH2ofSA8LSBwYXNzd29yZCA7KQ0KPj4+IAA=
- 那再用base64解下
-
import zlib import binascii import base64 id='789cad50c9929b400cfd201fc080170e39a89bc5cde2610966b9d160b7d90263ec61f9fa814a662ab75ca2523d3d49af2495fc2d2808b9008b03a9869a9fe0303eb6215b72558215578805b94a1264bd09f3a088baed63df7e7a59f29162935e778faa23fd9bd2fbca14df34762d83d48bf150b8e3ed48b1a4b813a05f13c7d919a58e8146e91154859889afba3576ca6182216ab93837d450ddf0939231b57e5a7af3ae3e1ca7f76b64814b38f8d79d786dfe36f2cd504905afc60cd85701d04235712f4851ca0f277de68afe2e3f7e42469d8d399d84a78d02b5d710fba35f465f567e1a165032d09eee35f25a2a48cc2e24317279d329a50d31eff2fb49686f4baeb85d90355a9984c63d167a66eadb8f4c7459d65c96da8e27faf94ef581515d9b735ced15b765444d3aaa078c94e3708dce6d128e3d9961438a5557bf121f460ba38e1670a4a15ce5e1583b8c370906f6f7eeb0b94c94f7babca9e734945f5e644c5424fb6f4dfa9fa20f47cb47431c9de75c90a704c3c1fcfa05c08f4f15a7c2ce' result =binascii.unhexlify(id) print result result = zlib.decompress(result) print result result = base64.b64decode(result) print result fount = open(r"55.zlib","wb") fount.write(result) fount.close()
-
解压成一个zip文件时发现问题:ZeroDivisionError对应的是什么?
- 百度了一下,是分母为零。得到password。
- 但是zip依旧打不开,没有头绪,就将常用的软件试了一遍。在扔进ida中时,感觉文件头尾和平常不太一样。百度了一下,的确是文件头尾做了手脚。
- 其中50 4B被改成了4B 50,改回来即可。
- 打开zip后,将password输入,得到key.txt。
- 发现又是一个编码,UUEncode解出flag即可
-
一些心得与体会
-
①
-
首先检讨自己,平时做的题目不够多,在Q4数据流文件中,仅找到了攻击者和被攻击者的地址,没有找到关键的数据库名字。
-
以及Q5的crack me使用ida做逆向,静态分析也做得不熟练,最终还是没有解出题目。
-
②
-
ctf毕竟是一个团队竞技比赛,想要拿到好的成绩,除了自身过硬的知识外,还需要和队友有着默契和足够的交流,以及耐得住的性子。