DDCTF_2018–Write up(部分)

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

总之

先考研。好好学习!

harmoc

发表评论

电子邮件地址不会被公开。 必填项已用*标注