- 博客(95)
- 收藏
- 关注
原创 劫持SUID程序提权彻底理解Dirty_Pipe:从源码解析到内核调试
本文主要面向对内核漏洞挖掘与调试没有经验的初学者,结合 CVE-2022-0847——著名的 Dirty Pipe 漏洞,带你从零开始学习 Linux 内核调试、漏洞复现、原理分析与漏洞利用。该漏洞危害极大,并且概念简单明了,无需复杂前置知识即可理解和复现。文章涵盖以下主要内容:环境搭建的调试脚本已经上传github:Brinmon/KernelStu源码下载路径:Index of /pub/linux/kernel/v5.x/编译教程:kernel pwn从小白到大神(一)-先知社区检查勾选配置:构建
2025-04-12 13:00:01
1459
原创 用户态视角理解内核ROP利用:快速从shell到root的进阶
1. 用户态和内核态ROP的核心共性对比维度用户态ROP内核态ROP核心共性控制流劫持目标劫持进程控制流(如覆盖栈返回地址)劫持内核控制流(驱动或内核存在可以利用漏洞)均需通过漏洞(溢出、UAF等)劫持控制流Gadget来源用户态程序或动态库(如libc、libc.so)内核镜像或内核模块(如vmlinux、.ko文件)复用现有代码片段(Gadgets),绕过DEP/NX内存布局操控覆盖用户栈/堆内存(如返回地址、函数指针)篡改内核栈/堆内存(如内核结构体、任务栈)
2025-04-12 12:58:50
1026
原创 IOT渗透测试:从信息收集到msf,ExploitDB攻击渗透思路实录分享
22/tcp:SSH服务(Dropbear sshd)53/tcp:DNS服务(dnsmasq)80/tcp:HTTP服务(LuCI Lua HTTP配置界面)548/tcp:AFP服务(Netatalk 3.1.11)HTTP (80端口)对网站进行详细的漏洞扫描(如目录遍历、SQL注入、XSS、文件包含等),可利用工具如Nikto、DirBuster、Burp Suite等。检查Web应用程序的默认页面、敏感文件或配置文件是否泄露。SSH (22端口)
2025-04-12 12:54:35
746
原创 深入剖析路由器FOTA固件升级流程:从解包到逆向分析
FOTA的定义:FOTA(Firmware Over-The-Air),即固件无线升级,是一种通过无线通信网络远程更新嵌入式设备固件的软件技术,常用于物联网设备、智能家居设备、汽车电子等领域。我们也可以直接进入去查看:import idc# 基本结构体参数# 两种结构体布局配置],'protected': [ # magic2为DEADC0DE时的布局('mount_point_primary', 0x48, 32), # 偏移改变。
2025-04-12 12:53:43
1515
原创 IoT安全透视:D-Link DWR-932B固件全面逆向漏洞挖掘全面解析
固件(Firmware)是存储在设备硬件中的软件,控制嵌入式设备的基本功能,如路由器的 Wi-Fi 连接和网络设置。研究表明,固件安全直接影响 IoT 设备的安全性,如果存在漏洞,攻击者可能远程控制设备或窃取数据。IDA Pro:逆向工程二进制文件 (IDA Pro 官网firmwalker。
2025-04-12 12:52:09
1691
原创 Android基础彻底解析-APK入口点,xml,组件,脱壳,逆向
硬件抽象层是安卓系统与硬件之间的“缓冲带”。它通过提供标准化的接口,使得安卓系统能够独立于硬件平台开发。无论设备使用何种硬件,HAL都能保证系统服务与硬件之间的兼容性。Audio:音频硬件的抽象接口,包括麦克风、扬声器等硬件的管理。Bluetooth:为蓝牙硬件提供抽象,支持无线设备的连接与数据交换。Camera:提供与摄像头硬件交互的标准接口。Sensors:支持各类传感器(如加速度计、陀螺仪)的抽象接口,供开发者调用。
2025-04-12 12:45:38
1835
原创 0基础手把手教:某云音乐爬取-反调试绕过,栈回溯,算法逆向
本文以某云音乐爬虫案例为基础,详细探讨了从工具准备到目标数据爬取的全过程,包括爬取目标的需求分析、关键数据的识别以及加密参数的解析和破解。在学习其他案例是发现很多爬虫文章都是莫名其妙的获得某些数据,不知道前因和后果,所以这里就讲逆向和调试的细节分享出来!包括利用源代码搜索、静态堆栈调用回溯、动态调试以及动态堆栈调用等技术手段,最终锁定目标加密函数的调用位置。
2025-04-12 12:21:16
1931
原创 AFL++实战入门与afl-fuzz流程解析(源码流程图)
本项目为模糊测试的零基础教学,适合了解 pwn 且会使用 Linux 的 gcc、gdb 的读者。模糊测试旨在通过向程序投喂数据使其崩溃,从而获取崩溃样本以寻找程序漏洞。本文前半部分介绍 AFL++ 的 docker 环境配置,帮助读者解决入门时的环境和网络问题;后半部分全面解析 afl 的模糊测试流程与源码架构,包括漏洞挖掘实战和原理机制解析。通过本文,读者可以快速入门模糊测试,并深入了解 AFL++ 的工作原理和应用。一、AFL++的docker环境配置二、AFL++进行漏洞挖掘实战。
2024-11-06 16:58:02
1668
原创 gomarkdown漏洞CVE-2024-44337--手把手教你go-fuzz模糊测试引擎如何进行漏洞挖掘
环境:Ubuntu20#添加环境变量#内容# GOROOT:go的安装路径# GOPATH:go的开发路径(自定义就好)# GOBIN:go工具程序存放路径#创建工作目录#解决网络代理问题go语言模糊测试(一):go-fuzz - FreeBuf网络安全行业门户#创建要魔改的go-fuzz#下载源码,后可以魔改#进入go-fuzz目录进行初始化#进入源码目录配置go.mod#安装go-fuzz所需依赖最后编译运行验证是否魔改成功!#安装go-fuzz的编译工具。
2024-11-06 16:54:07
1001
原创 BUU刷题-Pwn-0ctf2017_easiestprintf(printf函数触发malloc_hook)
利用printf函数触发malloc调用,再使用格式化字符串漏洞劫持malloc_hook为onegadget。在printf的调用中存在malloc调用!可以触发malloc_hook!存在格式化字符串漏洞但无法劫持fini,init,got表来劫持控制流。在printf的调用中存在free调用!可以触发free_hook![[printf函数触发malloc_hook]]存在格式化字符串漏洞,可以输入158个字节的内容!存在任意地址读漏洞!貌似还可以劫持exit_hook!利用got表泄露出libc!
2024-10-24 16:19:27
1019
原创 2024年湖南省大学生程序设计竞赛-网络攻防-线下决赛WP(Re,Misc)
逆向的目标类型:逆向的防御技术:去除程序符号表flag加密手段:RC4流密码 && base64换表涉及的算法与数据结构:逆向的对抗技术:逆向分析中的问题:获得flag:解出的flag:简介:wp借鉴:程序预运行:在ezbypass中的hint.zip中发现.jar文件解压之后相当于一个文件夹,发现一个exe, base.exe输入:核心伪代码分析:整体代码逆向分析:整体分析:分析:提取出target数据:直接丢进ida进行分析:分析en1函数:直接丢
2024-10-14 20:14:49
1641
1
原创 BUU刷题-Pwn-ycb_2020_mipspwn(MIPS_Shellcode)
┌──(kali㉿kali)-[~/…/BUU/MIPS/ycb_2020_mipspwn/mipspwn的附件]┌──(kali㉿kali)-[~/…/BUU/MIPS/ycb_2020_mipspwn/mipspwn的附件]libc版本:异构框架之mips框架的pwn学习笔记 | CN-SEC 中文网38;5;38;5;
2024-10-10 23:36:43
278
原创 BUU刷题-Pwn-axb_2019_mips(MIPS跳转bss段执行shellcode)
libc版本:buuoj Pwn writeup 216-220-CSDN博客本地无法打通不知道为什么,通过栈溢出劫持返回地址调用read函数,通过寄存器传参向bss段写入shellcode,之后再劫持返回地址跳转到bss段!
2024-10-10 23:03:59
481
原创 HWS赛题 入门 MIPS Pwn-Mplogin(MIPS_shellcode)
libc版本:HWS赛题 入门 MIPS Pwn | Clang裁缝店 (xuanxuanblingbling.github.io)mips pwn入门指北 | waddle’s blog (mikokuma.github.io)异构 Pwn 之 Mips32 | 狼目安全 (lmboke.com)MIPS PWN 入门 – itewqq’s blogMIPS PWN学习 - 先知社区 (aliyun.com)
2024-10-10 21:35:22
620
原创 HWS赛题 入门 MIPS Pwn-HWS_pwn(IDA插件mipsrop)
libc版本:HWS赛题 入门 MIPS Pwn | Clang裁缝店 (xuanxuanblingbling.github.io)这里的看似是堆溢出其实是栈溢出一处之后直接转为栈溢出劫持返回地址,由于MIPS的栈存在可执行权限所以直接使用shellcode写入栈中,并且使用gadgets跳转执行栈上的shellcode!
2024-10-10 21:33:02
604
原创 BUU刷题-Pwn-codegate2018_melong(ARM的ret2libc)
libc版本:ARM PWN:Codegate2018_Melong详细讲解-爱代码爱编程 (icode.best)ctf-wiki ARM ROP Codegate2018_Melong题解_elf 32-bit lsb executable, arm, eabi5 version 1 (s-CSDN博客ARM PWN:Codegate2018_Melong详细讲解_pwn arm melong-CSDN博客第一次栈溢出调用puts的plt表获取libc的地址。
2024-10-09 19:26:40
631
原创 BUU刷题-Pwn-inctf2018_wARMup(ARM版的栈迁移)
libc版本:ArmPwn学习_arm pwn 栈迁移-CSDN博客存在一个0x10的溢出点,太短了可能无法调用shellcode,又因为本题是使用qemu模拟出来的所以每个区段再靶场上都是可执行的所以只需要通过栈迁移将sp指针指向bss段并向bss段写入shellcode就可以获得flag了第一步栈溢出构造覆盖main函数的栈帧地址和放回地址,当调用POP {R11,PC}就可以劫持R11和PC寄存器,这样就可以调用gadget,
2024-10-09 15:19:52
1442
原创 BUU刷题-Pwn-jarvisoj_typo(ARM符号表恢复技术,Rizzo,FLIRT)
通过IDA动态调试和符号表恢复找到目标函数,存在read函数溢出再通过pwndbg来计算栈溢出的长度是112再通过RopGadgets找到gadget,用来传参和调用函数由于是静态程序就一定会存在很多字符串和system函数找到地址然后就是利用了!
2024-10-08 10:32:21
1605
原创 BUU刷题-Pwn-shanghai2018_baby_arm(ARM_ROP_csu_init,ARM架构入门)
再分析题目时候发现存在mportect函数可以开启bss的执行权限,由于arm程序没有和pop和push一样的指令来连续调用函数,所以采用ARM架构下的csu_init的gadget(和x86的一样只是使用arm指令完成的),所以利用这个gadget可以实现两次调用!栈帧1是main函数的栈帧,栈帧2是main函数里面的函数调用产生的栈帧,发现返回地址存放在栈顶位置。这段gadget主要是将需要的参数传递给不同的寄存器:x19,x20,x21,x22,x23,x24。
2024-10-06 00:03:25
1320
原创 IOT-CVE-2018-17066(D-Link命令注入漏洞)
通过拼接字符串将ls嵌入命令中实现任意命令执行!反引号 (``) 或 $() 形式反引号用于命令替换,即在反引号内的命令会先执行,其输出结果会替换反引号的内容。现代脚本中,推荐使用$()形式,因为它更易读且支持嵌套。
2024-07-08 15:44:50
1236
原创 京麒CTF2024-babyharmony(鸿蒙Native层详解)
鸿蒙逆向目前没有完整的逆向工具所以手动逆向:先将.hap文件后缀更改为.zip解压后就可以看见.hap的文件结构了!
2024-06-01 13:26:17
1724
原创 H&NCTF2024-Re-Baby_OBVBS(VBS代码混淆)
涉及到的知识点:[RC4流密码](RC4流密码.md)[hashcat工具的使用](hashcat工具的使用.md)[解释性语言代码混淆](解释性语言代码混淆.md)
2024-05-30 00:21:30
758
原创 H&NCTF 2024 Re 全解WP(带附件加详细解析)
一共要交互128次的样子,flag就被输出了!# 解密 base64 字符串# 寻找匹配的字节序列# 如果找到匹配的字节序列= -1:# 寻找等于0x34的数据的下一个数据index = match_index + 3 # 匹配字节序列之后的索引while len(extracted_data) < 0x18: # 提取0x18个元素if decoded_data[index] == 0x34: # 如果当前数据等于0x34。
2024-05-30 00:14:00
1504
原创 H&NCTF2024-Re-RWhackA(病毒程序逆向分析)
涉及到的知识点:[IDA动态调试](IDA动态调试.md)[IDAPython脚本](IDAPython脚本.md)[用快照对进程、模块、线程进行遍历(代码段)](用快照对进程、模块、线程进行遍历(代码段).md)[WindowsAPI](WindowsAPI.md)[病毒感染实现(PE infector)](病毒感染实现(PE%20infector).md)[DLL文件分析](DLL文件分析.md)
2024-05-29 23:36:43
1024
1
原创 京麒CTF2024-WP-Re
在txt里面找到了判断flag的按钮!发现这个调用的原理是使用使用ArkTs调用so方法QAQ,我去问chatgpt他说是js调用so方法差点肝死我了!.apk其实可以按zip的格式打开看见拥有源码的.dex文件,那么.hap是不是也可以这样!百度一些.abc文件发现啥也没有资料QAQ,直接用txt打开发现居然有源码在里面!分析发现这里的check_flag是假的,flag不在这里!然后继续百度才发现它用的是ArkTs调用so方法!发现这里就有check函数可以判断flag!
2024-05-26 23:20:10
1123
1
原创 二进制插桩(PinTool用法)-入门学习
命令:pin32/pin64 -t dll文件(.dll) -o 文本输出到的文件(.log) – 要执行的程序(.exe)如果你计划下载Pintool,并且你正在使用Windows操作系统,你可以根据你使用的C++编译器来选择适当的版本。将文件夹目录添加进入环境变量:E:\ReverseTools\pin-3.28-msvc-windows。打开要编译的pintool项目,并且选择生成解决方案,记住是多少位的。编译成功后开始测试!
2024-05-26 23:06:59
740
2
原创 京麒CTF2024-Re-easy-wasm
浏览器访问:127.0.0.1:8888 就可以访问这个页面并且进行调试了!分析发现这里的check_flag是假的,flag不在这里!我想你应该知道 flag 是什么了!然后就可以去浏览器看看具体的wasm代码了!找到注册的加密函数->主动调用->逐字节爆破密文。调试的时候会发现存在无限debugger QAQ。这样就可以用浏览器来进行调试了!当然这样是不够的要去看代码QAQ。"你输入的 flag 是:""答错了,再想想吧!
2024-05-26 23:02:22
819
原创 BUU-Reveser-XMAN2018排位赛_easywasm(WebAssembly逆向分析)
合理猜测一下第一次的md5加密到的二次的md5加密之间的代码是在进行赋值操作,将第一次加密的md5值放入64的位置!加密算法就是:将我们输入的32个字节每个提取出来拼接上一个字符串进行md5加密产生一个16进制的字符串值,再将这个字符串进行md5加密继续产出16进制的字符串值,与目标值进行对比!而且我们的程序使用的暂存变量地址都是0,所以前面的地址内存数据会被破坏,所以我们的数据就被损坏了memcmp函数对比的两个数据!第二条加密规则:读取第一次md5加密产生的16进制字符的md5值进行再次md5!
2024-05-26 22:55:53
1295
原创 BUU刷题-Reveser-FlareOn5_Web2.0(WebAssembly逆向分析)
这个题型要求我们通过浏览器网址传参数‘q’所以我们要先搭建一下本地服务器用来动态调试!发现如果flag的字符正确就会在这里断下,所以要慢慢的试,我也不会所以本题跳过QAQ。接下来就是网页地址传参了!访问:传入参数“this_is_a_test”在自己的题目目录下开启服务端口再去访问地址试试!访问这个网址发现会自动打开html网页!进入里面执行的web汇编代码!
2024-05-26 22:53:08
700
原创 WebAssembly分析和调试技巧
打开浏览器我们可以看见作用域和变量,我们的目标查找我们的字符串aaaaaaa…被写入到了哪里!由于我们使用memoryBuffer指向了wasm的内存空间,然后将字符串写入到了1800的位置所以我们可以去看看!!打开浏览器进行调试!我们成功找到了我们的输入!!!接下来就是总结:js可以使用wasm的内部空间来实现wasm和js的通信!!连接方式就是通过wasm所一开始申请的内存空间!!
2024-05-26 22:47:59
693
原创 京麒ctf2024-Re-babyharmony(鸿蒙OS逆向)
发现这个调用的原理是使用使用ArkTs调用so方法QAQ,我去问chatgpt他说是js调用so方法差点肝死我了!.apk其实可以按zip的格式打开看见拥有源码的.dex文件,那么.hap是不是也可以这样!百度一些.abc文件发现啥也没有资料QAQ,直接用txt打开发现居然有源码在里面!百度查一下发现方法是写在libentry.so文件里!然后继续百度才发现它用的是ArkTs调用so方法!但是找不到testNapi.check方法百度一下!发现这个check方法是在so文件里的!找到check方法!
2024-05-26 22:03:23
1577
原创 H&NCTF2024-Re-Ezshoping(网络商城apk抓包逆向)
注:由于本题需要远程服务环境,所以无法复现只能通过分析伪代码加大佬的wp来理解这题了!
2024-05-26 00:25:43
1128
原创 DASCTFXGFCTF2024 四月Re-unwind(SEH混淆逻辑)
调用链是:CMP_411348-》411c20(被hook)-》jmp 4110e6-》jmp 412000。可以清晰的发现这个函数是xtea加密!由之前的分析可知这个xtea加密会被调用两次!通过ida的动态的调试和xdbg的动态调试我们就可以得到真实的调用流程!发现这里会hook掉CMP_411348函数!发现主逻辑,先经过xxtea加密。解密脚本也就出来了!
2024-05-25 23:50:27
906
原创 DASCTFXGFCTF2024四月Re-ezVM(ida调试dll文件)
动态调试就会发现原dll文件被改为check1.dll,然后将data解密成正真的dll!发现关键数据:178是判断tar是否为0,176是对tar进行修改。添加输出发现其实就算个简单的多元一次方程,直接上z3就好了!直接叫chatgpt将c转为python,再改改就好了!里面还有一些加减乘除运算,还发现177是多余的!成功解密接下来就是调试解密出来的dll了!所以直接dll动态调试提取数据!直接上chatgpt,问代码!发现是一个超级简单的异或加密!更改一下启动文件就好了!下面是完整的揭秘脚本!
2024-05-25 23:47:19
423
原创 路由仿真环境-FirmAE安装指南2024(IOT入门)
运行完上面的后就可以运行install.sh脚本了!,之前配置失败是因为没有配置好python环境这次提前配置了,所以就没啥问题了!download.sh脚本主要是下载一写github上的一些文件,脚本下载的不好可以手动下载后放到。注:我是用的Ubuntu基本啥也没装,这个框架会有概率扰乱原有环境!还出了一个bug无法进行联网,我只能说我不理解,菜鸟一枚QAQ。发现这次提交是他们写教程时最新的提交!第一次尝试以失败告终,肝到我凌晨4点!这是一个我经常用的环境,用来打Pwn。开启代理后速度嗖嗖的快!
2024-05-25 19:28:49
2369
原创 Ubuntu内存不足解决方法以及内存管理
遇到问题:发现自己的系统挂载的内存盘提示Read-only file system,也就是说系统是只读的,什么也写不了。需要手动的提升一下权限!使用Linux内存管理工具进行拓展;最后在点击一下应用,就可以成功拓展了!最后再检查一下是否拓展成功!首先拓展20G试试水!
2024-05-23 23:27:29
2495
原创 52破解安卓专项-使用Android Killer实现多开
在手机安装打包后的apk,在没有卸载原来的apk时,发现安装过程中出错,新apk安装不进去。使用Android Killer自带的文本替换功能,直接全部修改:net.meishi360.app-》net111.meishi360.app。最主要的核心问题出来了!如果安装相同包名的apk时会进行签名校验判断已经在手机中的apk的签名是否和要安装的签名一致,如果不一致就会安装失败!由于这个apk比较简单并没有太多的核心层的调用所以只需要修改AndroidManifest.xml文件里的的包名就可以实现多开了!
2024-05-23 01:36:47
1158
原创 BurpSuite v2024.3.1.2(中文版52pj)工具安装
由于BurpSuite是收费的,所以需要使用密钥生成器来激活!将请求和结果进行输入,将放回填入就可以激活了!把license复制过去,在进行手动激活!先选择是启动中文的还是英文的!下载完成之后就可以开始了!在启动start.vbs。
2024-05-22 11:39:06
1838
babyharmony(鸿蒙.hap的Native层详解带i64附件)
2024-06-01
BUU-Reveser-XMAN2018排位赛-easywasm(WebAssembly逆向分析)
2024-05-26
BUU刷题-Reveser-FlareOn5-Web2.0(WebAssembly逆向分析)
2024-05-26
国赛ciscn2024-WP-re4-whereThel1b(动态调试Cpython的so文件)
2024-05-21
国赛ciscn2024-WP-re2-androidso-re(unidbg模拟执行Native层方法)
2024-05-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人