Vivotek CC8160 是一款网络摄像机,在 VVTK-0113b 版本之前的固件中存在一个缓冲区溢出漏洞。 可以在这里下载固件:CC8160-VVTK-0100d.flash.zip 下载之后解压拿到 CC8160-VVTK-0100d.flash.pkg 附件,然后利用 binwalk 提取固件: 1binwalk -Me CC8160-VVTK-0100d.flash.pkg 解压后有四个.extracted看一看内容: 进入找到 squashfs-root: 可以现在启动脚本中查找相关信息: 1cat ./etc/init.d/rcS /etc/init.d/rc
前言:该篇文章的学习主要是由于在复现 CVE-2020-8423 的过程中遇到了一点关于动态调试的问题,学长推荐了一篇文章是关于这个漏洞的,于是来这里学习一下动态调试的方法。 环境搭建:固件分享链接(是 cCor4ng3 师傅的)夸克网盘,链接:https://pan.quark.cn/s/38df4f0919b4,提取码:6AEk binwalk 解包固件: 1binwalk -Me CVE.bin 1readelf -h ./busybox 123#安装qemu和arm的动态链接库sudo apt install qemu-user-static libc6-arm* lib
前言:大概快一个多月没有打过堆风水的题目了,期间或许偶尔碰见那么一两道吧,也都比较简单。国外的比赛经常给一些异构 pwn 或者某些偏于真实的程序,大部分都是篡改指针,然后反复跳转,难点在于读懂程序,最近国内比赛多起来了,开始复现国内的题目发现大部分都是堆风水,然后典型的堆覆盖泄露 libc 然后打 apple2 之类的,感觉长时间不写有点退化了,像湾区杯的 armpwn 也是在写题过程中学到了不少知识。 digtal_bomb: 2.35 版本的 libc,开启了 canary,pie 和 Full RELEO 静态分析:main:我们先进入到 main 函数去看,做一个简单的逆向,之后得出
ROP Emporium ARM x32Challenge1_ret2win 1234567891011int __fastcall main(int argc, const char **argv, const char **envp){ int v3; // r0 setvbuf((FILE *)_bss_start, 0, 2, 0); puts("ret2win by ROP Emporium"); v3 = puts("ARMv5\n"); pwnme(v3); puts("\nExiting");