DDCTF_201…
杂谈
觉得自己根本没有资格写这份Write up。这次DDCTF打的心态真的有点崩。不过还好,意识到自己很多地方的不足。
直到考研结束,我不会再头铁地去打什么CTF。更何况,本身自己就需要积淀。
MISC
1.(╯°□°)╯︵ ┻━┻
(掀起了没技术的桌子)
题面
(╯°□°)╯︵ ┻━┻
d4e8e1f4a0f7e1f3a0e6e1f3f4a1a0d4e8e5a0e6ece1e7a0e9f3baa0c4c4c3d4c6fbb7b9b8e4b5b5e4e2b7b6b5b5b2e1b9b2b2e4b0b0e4b7b7b5e5b3b3b1b1b9b0b7fd
题解
感觉这道题大家说法好像不太一样?
有的人是说跑的移位加密,有的说(比如我)直接16转10,然后128取余?
密码学体系不完善。。。。。
第四扩展FS
题面
D公司正在调查一起内部数据泄露事件,锁定嫌疑人小明,取证人员从小明手机中获取了一张图片引起了怀疑。这是一道送分题,提示已经在题目里,日常违规审计中频次有时候非常重要。
题解
这道题感觉是真的迷。我最终做出来一点题目的名字没用上。
一开始第一反应binwalk一下。结果解出的压缩包损坏。卡的死死的,到现在不知道到底什么原因,为什么其他表哥的解出来就是正常的。
后来用了foremost解出了压缩包。但是有密码,在详细信息里发现了一个很可疑的字符串Pactera,用作密码一试。。。开了。
然后就是根据提示里字频解密码了
安全流量
数据包内容很驳杂,别的不说,我满怀期望读了7封广告邮件,简直了。
在数据包内会有一个.eml文件,里面有一张关键图片----私钥。
然后把私钥格式补齐,用wireshark进行ssl解密即可获取flag。
然而我第一次知道这个操作。。。。。大佬们wireshark的操作到底咋系统学到的?我咋打一次比赛学一个新操作。
QAQ
安全通信
题面:
请通过nc XXXX.XXXX.XXXX.XXXX XXXX答题,mission key是b9ba15b341c847c8beba85273f9b7f90,agent id随意填就可以
题解:
从这儿开始我就没做出来了。。。
分析代码得知,该题为aes ecb加密。
#ecb什么鬼啊!!!摔。看来我密码学也不成体系。。。
1.本题通过输入agent_id,构造形如
Connection for mission: {agent_id}, your mission's flag is: DDCTF{32位}的字符串,
用随机生成的16位密钥进行加密,在一次连接中密钥不会变换
2.因为aes的特性通过改变输入agent_id长度,可以确定flag长度为32位,如下图
3.因为aes特性将字符串16位一组分组,当输入12345678时,字符串多出一位},分析脚本得知会用0补齐。
4.aes_ecb的特性,最后一组的}和单独输入}加密后一样,得知可以进行爆破,通过改变agent_id长度进行爆破。得到flag
Web
web1-数据库的秘密
没做出来。。找了一份大佬的wp:
看题目猜是注入,访问题目发现只允许 123.232.23.245 IP 访问。没啥好说的,直接改 HTTP 的 HEADERS,加个X-Forwarded-For: 123.232.23.245
。发现可以正常访问了,并且注意到有个 hidden 的 input,参数名为 author,是本题的注入点。
为了测试 payload 方便,使用 burp 来修改数据。
proxy->options->match and replace
将useragent替换成X-Forwarded-For: 123.232.23.245
将hidden 替换成 text,将intercept勾上 off
这样就可以在浏览器上直接测试:
稍微 fuzz 下,过滤了 union ,只能使用 and 来盲注。同时提交请求还会带上一个 time 和 sig。这两个参数是在 js 计算出来的。思路很明确,有个盲注,需要计算 sig,和 time。直接使用 python 调用 js 来计算,就比较方便。或者使用 webdriver 来做。
附大佬脚本。。。。
唉,web都没做出来。。愧对web狗的身份。。。
借鉴
- web1-Wfox
- 安全通信- kagar1
总之
先考研。好好学习!