CNVD-2013-11625
CNVD-2013-11625复现前言本来是不太想复现太老的漏洞的,但是这个漏洞在网上可以找到的文章非常多,复现了一下,确实很经典,可以学到很多东西,像我这样的新手拿来入门真的非常友好,也有很多大佬的文章可以参考,这里就放一下自己的一些感悟以及自己的exp,不再做太多分析了) 参考文章: 文章一 文章二 漏洞分析漏洞分析这方面winmt大佬已经分析的很透彻了,这里就不再多说了,大家可以看大佬的文章 好吧其实是因为我懒得写了(bushi mips架构两个很有意思的特性是 在调用叶子函数和非叶子函数时对于寄存器的处理问题 流水线指令集的相关特性,主要体现在“分支延迟效应”和“缓存不一致性” 大家在调试过程中自己可以体会的到的 在qemu用户模式下复现先放exp: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838...
IOT环境搭建
IOT安全环境搭建实验环境ubuntu22.04,之前使用的最新版的ubuntu,每次配环境总是一堆环境依赖问题,所以,直接新配了一个ubuntu22.04,兼容性更强,但是随之而来也遇到了一些问题,配环境是一个很痛苦的事情》》 参考文章请点击这里 binwalk注意 很多文章都说要提前安装sasquatch工具,binwalk才能正常使用,但是我并没有安装,我猜测可能是现在binwalk里自带了,如果最后binwalk不成功的话,大家可以试着安装一下这个 安装rust编译器123sudo apt install curlcurl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y. $HOME/.cargo/env 安装并编译binwalk12345git clone https://github.com/ReFirmLabs/binwalksudo ./binwalk/dependencies/ubuntu.shsudo apt install build-essenti...
chrome v8 CVE-2021-30632
chrome v8 CVE-2021-30632参考文章: [原创]chrome v8漏洞CVE-2021-30632浅析-二进制漏洞-看雪-安全社区|安全招聘|kanxue.com v8漏洞CVE-2021-30632复现CVE-2021-30632复现 securitylab/SecurityExp - 掘金 CVE-2021-30632 V8引擎漏洞分析 | CN-SEC 中文网 CVE-2021-30632 V8引擎漏洞分析 个人见解,有不对的地方,欢迎各位师傅批评指正 版本回退1234567cd v8git checkout 632e6e71c5fgclient synctools/dev/v8gen.py x64.debugninja -C out.gn/x64.debug d8tools/dev/v8gen.py x64.releaseninja -C out.gn/x64.release d8 前置知识 PropertyCell Ignition IR Turbofan JIT PropertyCell12345678910// A PropertyCel...
v8-学习-练习题
2019-数字经济大赛决赛-Browserdiff分析123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384diff --git a/src/builtins/builtins-array.cc b/src/builtins/builtins-array.ccindex e6ab965a7e..9e5eb73c34 100644--- a/src/builtins/builtins-array.cc+++ b/src/builtins/builtins-array.cc@@ -362,6 +362,36 @@ V8_WARN_UNUSED_RESULT Object GenericArrayPush(Isolate* isolate, } } // namespace +// Vulnerabili...
xnuca2020-babyV8
xnuca2020-babyV8参考文章v8 pwn入门篇利用合集-CSDN博客 题目分析可以看参考文章,这里主要分析exp 准备函数12345678910111213141516171819function hexx(str, value){ print("\033[32m[+]"+str+": \033[0m0x"+value.toString(16));}var buf=new ArrayBuffer(0x8);var fbuf=new Float64Array(buf);var ibuf=new BigInt64Array(buf);function ftoi(val){ fbuf[0]=val; return ibuf[0];}function itof(val){ ibuf[0]=val; return fbuf[0];} 溢出12345678var arr=[];arr[0]=1.1;arr.pus...
LilCTF-pwn
前言前不久打了一下Lilctf,全全爆零了,自己还是太菜了,但赛后复现,真的可以学到很多,收获满满 heap_Pivoting题目分析静态编译的glibc2.23的堆题,去除了符号表,建议先恢复一下符号表再做题,会方便很多(将sig文件放在ida的sig文件夹里,然后恢复一下就好了,很方便) 大体攻击流程:unstorebin_attack劫持chunk_list,修改main_arena中的topchunk,劫持stdout,flush泄露environ,修改栈ret劫持控制流,orw 之前的main_arena一直都是用来泄露libc的,也没细了解过,卡在这里一直没有进一步的进展,赛后才知晓可以修改topchunk中的内容,来劫持topchunk,实现任意申请,又学到新知识了~~ 劫持stdout就是劫持flag标志位和_IO_write_base,ptr,end,就可以利用flush刷新缓冲区泄露了,flush,openat,read,write函数的地址,在恢复符号表后都可以找到,至于environ,是在调试的过程中全局搜索得到的,大家有其他搜索办法的话欢迎留言噢~~,...
NSSCTF4th-pwn
how_to_fmt?这次的比赛pwn题只有一个,很可惜白天有点事情,下午回来时间不是很够,赛后一个小时勉勉强强做了出来,很可惜 小声哭,超小声 题目漏洞很明显的fmt,不再多说了,类型和之前LItCTF2025的fmt非常相似,只是当时直接ogg就可以getshell,而这个需要执行 system("/bin/sh")劫持printf函数自身的返回地址,尝试执行过pop rdi;binsh;system,但结果是rsp未对齐16字节导致失败,然后尝试加入ret使rsp对齐16字节,结果多出一个位置会导致输入的内容覆盖掉call system的地址,故失败,所以考虑在其他地方写入pop rdi;binsh;system,然后通过pop rsp;target_addr来劫持rsp,最后即可getshell 哦对,最一开始需要爆破一下栈地址,16分之一的概率,很容易 我exp中用来向目标地址写内容的脚本可以封装成一个函数,看起来会更加简便,我这里就不封装了,大家感兴趣可以自己尝试一下 这个自动化爆破脚本有些不太稳定,多试几次就好了QAQ~~ 噢对,写exp的时候...
初探V8
初探 V8参考文章Chrome-v8-入门 | iyheart的博客 chrome v8 pwn 学习 (2) | CoLin’s BLOG V8 Pwn Basics 1: JSObject - Wings 的博客 通过StarCTF oob题目学习V8 PWN 入门 | 长亭百川云 注意本文下图显示的内容都是基于v8 7.5版本的实验结果,该版本暂未使用指针压缩技术,对于高版本的v8的实验结果并不如下图所示 环境搭建1.需要下载两个编译v8源码的工具depot_tools、ninja (下载depot_tools需要挂代理) 12git clone https://chromium.googlesource.com/chromium/tools/depot_tools.gitgit clone https://github.com/ninja-build/ninja.git 2.然后将这两个工具添加进环境变量 123456echo 'export PATH=$PATH:"/path/to/your/depot_tools"' >...
初探arm-pwn
ARM-PWN学习环境配置### 安装插件 关于异构的环境配置大家可以参考这篇文章,真的超级详细,arm,aarch64,powerpc,mips等等架构也有都,超级nice 传送门 关于arm架构,首先需要安装qeum其中包括qemu-user和qemu-user-static,qemu-system可以安装也可以不安装,接着安装调试工具gdb-multiarch,然后就可以通过qeum启动arm架构的程序来调试了 123sudo apt-get install qemu-user qemu-user-staticsudo apt-get install qemu-system uml-utilities bridge-utilssudo apt install gdb-multiarch 启动程序如果要启动一个名为pwn的arm架构的动态程序,命令应该为 1qemu-arm -L /path/to/lib ./pwn 其中-L后面跟的参数为路径,不知道的话可以通过 file pwn 来查看一下所需路径以及ld 如果想要调试的话可以通过 1qemu-arm -L /...
justctf2025 pwn
justctf2025 pwn上周打了一下justctf,做了一道babyheap,shellcode没想到jmp短跳指令,没做出来,prospector和jctfcoin是学长做的就没看,QAQ,今天看了一下,还可以 shellcode printer利用printf的%hn,每次两个字节向mmap中写shellcode,最后可以执行两个字节的shellcode,利用jmp的短跳指令可以直接跳回一开始的shellcode,就可以getshell了 exp: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768from pwn import *context(arch="amd64", os="linux")#context.log_level='debug'context.terminal = ["tmux&q...