记某次CTF中Let me in✨
Posted 新网工李白
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了记某次CTF中Let me in✨相关的知识,希望对你有一定的参考价值。
🙋出题思路
本题考核的是WEB前端加密绕过,该场景在平常的工作中经常遇到,如果不完成解密操作无法进行下一步的测试。解题需要选手使用工具或者脚本实现加密进行爆破和越权,test账户的密码使用AES对称加密,密钥在混淆过的javascript代码中生成固定的密钥,可以实现该加密过程对登录进行爆破,也可以使用Burpsuite的插件进行加密爆破,如AESKiller、Crypto Messages Handler等,为了防止大家没有该弱口令,在robots.txt中预留了字典目录,但是该字典需要去重,你学会了吗?
💁解题技巧
访问题目发现这有flag ,提交了flag不正确。题目肯定不会是真没谁水的。(狗头)
上kali扫描目录,用 dirsearch就是干
发现敏感文件robots.txt 访问 robots.txt,我日有密码字典ddddddddddddddd_password.txt,心想这他妈不久好办了嘛,肯定爆破
字典有重复,需要去重cat passwd.txt | sort -u,去重结果只剩 203 个不重复的密码。
访问/Server 发现登陆页面,输入 admin/admin 直接丢进BP
大事不妙发现密码做了加密处理,F12 分析 js,发现 AES 加密特征。
对称加密需要密钥,分析代码发现生成密钥函数为 confusion,动态调试获取密钥为3602879701896397,加密模式为 ECB。
拿到密钥,使用 burp 插件 AESKiller 配置密钥。
启动插件之后,重新抓包,会拿到一个修改过的数据包
发送到 intruder 模块,开始爆破,有了密码,加载一个用户名字典一起跑
用户名为 test,密码为 123987,登录成功之后发现一个查询页面。
输入 test 抓包
发现加密参数,直接使用插件的解密功能解密。
修改 userid 和 username 为 admin
使用修改的参数查询,拿到 flag 为
flag{876fedc30e062a4667d2df26f75003cb}
👬 涉及的工具
- 后台扫描工具dirsearch或者御剑
- BP爆破
- burp 插件 AESKiller 加密爆破
📧 总结
- 扫后台发现敏感文件
- 密码爆破
- 对javascript代码中生成固定的密钥使用Burpsuite的插件进行加密爆破
- 这题的难度就在js代码生成的密钥函数 confusion、发现加密模式为 ECB,只要会加密爆破有了突破口
以上是关于记某次CTF中Let me in✨的主要内容,如果未能解决你的问题,请参考以下文章