论坛首页 逆向工程技术区 阅读主题

[原创]软件安全赛-2026-writeup NPUSEC

348 浏览 3 回复
#1 楼主 2026-06-01 21:08:53
先来一张最终排名时截的,欢迎关注我们的博客:d81K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6%4N6%4N6Q4x3X3g2F1M7s2g2K6k6h3y4Q4x3X3g2G2M7X3N6Q4x3X3g2U0L8W2)9J5c8R3`.`.新建新用户并计算出 admin 的密码,脚本如下拿到 admin 密码:0236506025278727接下来内存马注入step1:step2:step3:成功注入内存马读取 flag 权限不够,需要提权,这块后边重新注了一个 behinder 马通过/usr/bin/7z 提权获取 flag先随便注册一个账号登录进去,找到一个 ssrf 入口返回包有 base64 编码内容,可以外带一些敏感数据接着用常规路径字典爆破,爆破出来 app.py看到其中的 redis 配置项会优先拿 redis_config.json 中的密码,还得去读取和 ssrf 在一块,尝试直接 crlf 去进行 redis 访问但是发现认证失败,没招了只能去读 redis 默认配置看看拿这个密码去尝试,发现正确了变成 admin,回到 app.py,此时可以访问/admin/online-users 了,发现一个 pickle 反序列化的点:同时过滤了一些东西,但是容易绕,可以用 allowed builtins.getattr+main.OnlineUser,上传点在 redis,因此之前的提权逻辑可以复用把恶意 pickle 写入 online_user:11,访问 /admin/online-users 触发执行。但发现读不了 flag,其他可以,可能是权限问题,联想到起初在/proc/11/cmdline 发现的:发现了 mcp,还泄露了 token,还发现了调用 XML-RPC 服务的 execute_command 可以直接读 flag,没有限制,目的是为了反序列化后执行 python -c 以下代码,写个简单的 pickle 序列化字符串生成脚本就好:Python -c "xxx"逆向完毕之后,发现这里 j 可以等于 12,溢出到 admin_note 这个 bss 段上得变量这个地方能实现风控用户,用户被风控之后就可以使得上面的 n7<=7,之后就能利用溢出,控制 admin 的账号和密码为空,登录即可登录 admin 账户之后就可以调整用户邮箱中的内容,后面将 stderr 当作一个用户的邮箱内容发到 1 账户的邮箱中去,之后登录 1 邮箱去查看邮箱内容就能去泄露 libc 的内容后面继续攻击_IO_2_1_stderr_打一个 house of some 就好pwn_std 内容如下:解包出来可以看到一个视频和一个 elf 文件,我们先用 ida 查看 elf 文件并获取相关信息,可以找到一个 base64 加密的长数据同时可以在主函数中看到 stager.pyc 的字眼,推测是将 stager.pyc 转为 base64 了,我们 cyberchef 解密一下并保存为 stager.pyc,再拖到在线 pyc 反汇编工具中查看代码工具链接:在线 pyc,pyo,python,py 文件反编译,目前支持 python1.5 到 3.6 版本的反编译-在线工具可以看到,加密方法是读取 payload,然后每 8 字节异或 10101010,然后结果为 1 表示黑色,0 表示白色,设置长宽边长的参数,所以解密只需要反过来皆可,这边附上解密代码解密完我们发现是一个 elf 文件,直接改名拖入 ida 中查看逻辑可以发现进行了一系列输出,同时我们在字符串中看得到 md5 跟 flag 的字眼,尝试对 src 字符串所指的 md5 进行解密解密脚本附上运行得到 flag:dart{2ab1fb8a-b830-45e7-8830-66c7e3b3e05a}upx 魔改壳,但是将 CTF 改回 UPX 依旧没法脱壳x64dbg 手脱,此处在 rsi 打下硬件断点找到这里的大跳步进 dump 下来即可进去找到一大段非常可疑的 base64 字符提取出来得到一个新的程序 download.exe进入定位到 sub_401A10 函数进入 sub_4018F0 分析在 sub_4018B0 中可以分析出是 rc4 初始化和解密动调可以知道,这里是在解密代码段,断点打在这里交叉引用定位到关键代码在 sub_404EF3 函数函数 sub_404CB0 是关键加密代码,分析之后可知是 aes-cbc 模式的加密, v12 是输入的 key,传入的参数分别是 key 和 iv,密文是底下 v13 的两个数提取出来之后,尝试在 cyberchef 中解密解密失败,重新分析代码可知,使用了经典的 aes 魔改,虽然没改 S 盒,但是改了 rcon 常数以及在函数 sub_404940 中可以看出,这个 aes 先做了轮密钥加,再做了列混淆exp 如下得到 flag :dart{c3d4f5cc-8aab-46ce-a188-2fc453f3b288}发现 client 是一个 pyinstaller 打包的 exe,解包后,使用 pylingual 项目反汇编得到如下代码(用 pycdc 或其他工具反汇编会导致得不到 oe 函数逻辑,使用最新的项目虽然显示有误,但可以正确反汇编)使用如下脚本打印 base85 解密结果得到如下逻辑我们先写脚本获取 key:passvkcDKWLAA45o分析代码后可以得知,加密逻辑在 crypt_core.so 里面,用 ida 打开 crypt_core.so搜索 encode_data 字符串,我们可以找到 sub_9820(python 函数包装器)


登录后可查看完整内容

---
来源: 看雪论坛
原文链接: https://bbs.kanxue.com/thread-290432.htm
#2 2026-06-01 21:08:53
Android 17的定位按钮设计真是个大创新!终于不用再被烦人的权限弹窗打扰了,用户点一下按钮就能用一次定位,既方便又安全。这个设计不仅提升了用户体验,还让用户对自己的隐私有了更多掌控权。对开发者
#3 2026-06-01 21:08:53
这篇文章详细介绍了Android 17在定位权限方面的重大改进,特别是引入的系统定位按钮和模糊定位算法的优化。这些变化不仅提升了用户体验,还进一步强化了隐私保护。对于开发者来说,拥抱这些新特性,合理
#4 2026-06-01 21:08:53
mb_oqmfwxcf

这篇文章详细介绍了Android 17在定位权限方面的重大改进,特别是引入的系统定位按钮和模糊定位算法的优化。这些变化不仅提升了用户体验,还进一步强化了隐私保护。对于开发者来说,拥抱这些新特性,合理

请登录后参与讨论

立即登录 注册账号