avatar
文章
43
标签
16
分类
23

首页
归档
标签
分类
友链
关于
S1nec-1o's B1og
首页
归档
标签
分类
友链
关于

S1nec-1o's B1og

protobuf初探
发表于2025-05-13|更新于2025-05-13|protobuf|protobuf
Protobuf (Protocol Buffers) 是谷歌开发的一款无关平台,无关语言,可扩展,轻量级高效的序列化结构的数据格式,用于将自定义数据结构序列化成字节流,和将字节流反序列化为数据结构。所以很适合做数据存储和为不同语言,不同应用之间互相通信的数据交换格式,只要实现相同的协议格式,即后缀为proto文件被编译成不同的语言版本,加入各自的项目中,这样不同的语言可以解析其它语言通过Protobuf序列化的数据。目前官方提供c++,java,go等语言支持。 使用首先定义一个.proto文件 12345678syntax = "proto2";message devicemsg{ required sint64 actionid = 1; required sint64 msgidx = 2; required sint64 msgsize = 3; required bytes msgcontent = 4;} 然后根据要通过c或者python来使用,来使用相应的命令 12protoc --c_out=. tes ...
windows heap初探(2)
发表于2025-05-10|更新于2025-05-10|windowsheap|windows pwn
windows堆基础知识win10的memory allocator基本上分为两种: Nt Heap 默认的memory allocator 后端管理器(Back-End) 前端管理器(Front-End) SegmentHeap Win10中全新的memory allocator机制 在LFH未启用时,我们call malloc 启用LFH后,第一次或LFH能用的空间都用完时,会先跟Back-End要一大块空间来管理 启用LFH之后分配相同大小时,会直接给Front-End管理 Nt HeapBack-End数据结构_HEAP_HEAP是每个堆的核心结构,用来管理该heap,每个Heap都有一个_HEAP在heap开头 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869//0x2c0 bytes (sizeof)struct _HEAP{ un ...
windows pwn初探(1)
发表于2025-05-08|更新于2025-05-10|windowspwn|windows pwn
window_pwnhttps://www.anquanke.com/post/id/188170#h3-1 SEH相关数据结构TIB结构TIB,即线程信息块,是保存线程基本信息的数据结构,它位于TEB的头部。TEB是操作系统为了保存每个线程的数据创建的,每个线程都有自己的TEB。 TIB结构如下: 123456789101112typedef struct _NT_TIB{ struct _EXCEPTION_REGISTRATION_RECORD *Exceptionlist;//指向异常处理链表 PVOID StackBase;//当前进程所使用的栈的栈底 PVOID StackLimit;//当前进程所使用的栈的栈顶 PVOID SubSystemTib; union { PVOID FiberData; ULONG Version; }; PVOID ArbitraryUserPointer; struct _NT_TIB *Self;//指向TIB结构自身} ...
Qemu逃逸初识
发表于2025-05-04|更新于2025-05-04|qemu虚拟机|qemu逃逸
qemu逃逸学习CTF中的qemu逃逸便是通过在qemu源码中注册一个新的pci,来模拟真实环境下的某一个pci外设,例如键盘控制器之类?通过构造特定的Guest操作触发漏洞(一般是越界读写),最终在Host上获得shell读取flag,主要还是侧重于代码的逆向和漏洞的利用技巧。 实战中的或许是类似于针对云服务商的?目标是突破租户隔离,来获得宿主机的敏感信息吧,还是非常有意思滴!!! 原文:https://xz.aliyun.com/news/6166 只做学习记录和批注 好文:https://xuanxuanblingbling.github.io/ctf/pwn/2022/06/09/qemu/ qemu概述运行的每个qemu虚拟机都相应的是一个qemu进程,从本质上看,虚拟出的每个虚拟机对应 host 上的一个 qemu 进程,而虚拟机的执行线程(如 CPU 线程、I/O 线程等)对应 qemu 进程的一个线程。 其中**客户机系统 (Guest)**:运行在 QEMU 之上,是虚拟机中安装的操作系统。 客户机系统认为自己直接运行在硬件上,但实际上是通过 QEMU 与底 ...
Android逆向之Wiki篇
发表于2025-04-14|更新于2025-04-14|安卓逆向|android
静态分析java层2014 ASIS Cyber Security Contest Finals Numdroid逆向分析12345678910111213141516171819202122232425262728293031protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ArrayTools.each_with_index(buttons, new EachIndexAction<Integer>() { // from class: io.asis.ctf2014.numdriod.MainActivity.1 @Override // io.asis.ctf2014.numdriod.tools.EachIndexAction public void action(final int i ...
一些IoT漏洞复现
发表于2025-04-06|更新于2025-04-06|IOT安全漏洞复现|IOT安全
一些路由器漏洞复现前言一些漏洞的学习笔记,比较的潦草,只是记录一下😊😊😊😊 CVE-2024-52028Netgear R7000P v1.3.3.154 被发现通过 wiz_pptp.cgi 上的 pptp_user_netmask 参数存在堆栈溢出。此漏洞允许攻击者通过精心设计的 POST 请求引发拒绝服务 (DoS)。 固件链接:https://www.netgear.com/support/product/r7000p/#download usr/sbin/httpd 没找到! Netgear XR300 v1.0.3.78、R7000P v1.3.3.154 和 R6400 v2 1.0.4.128 被发现通过 bsw_pppoe.cgi 的 pppoe_localip 参数包含堆栈溢出。此漏洞允许攻击者通过精心设计的 POST 请求引发拒绝服务 (DoS)。 123456789101112131415161718case 4: if ( input_length > *limits ) return -1; for ( check ...
android之hook入门
发表于2025-03-28|更新于2025-03-28|安卓逆向|android
Android运行机制一般而言,在启动一个 App 时,Android 会首先执行 Application 类(AndroidManifest.xml 文件中注明)的创建工作,然后再开始执行 Main Activity,继而根据各种各样的逻辑执行相关代码。 Android 逆向 分析方法,可以采用以下方式 静态分析,对源代码进行逆向,然后阅读分析 动态分析,对代码进行动态调试,一般来说动态分析离不开静态分析。 分析对象,一般有以下两类对象 java层代码 原生层代码 Android 逆向主要应用于以下几个方向 app 安全审查 系统漏洞挖掘 恶意代码杀查 同行业产品技术原理分析 移除安全机制 AndroidManifest.xml 文件 软件包名 apk 主活动,隐藏程序没有主 Activity Application 在 java 层启动最早 逆向技巧字符串定位: 程序报错信息 服务 广播 敏感API定位: 控件的事件函数 onclick show Toast 网络函数 HttpGet HttpPost HttpUriRequest socket 发送 ...
固件下的hook & patch
发表于2025-03-03|更新于2025-03-03|IOT安全|IOT安全
固件下的how2hook & how2patch在模拟固件的时候通常需要我们自己对二进制文件进行patch和hook,但无论是patch还是hook,都是通过修改(劫持)二进制文件的执行流程来达到固件顺利启动的目的。 BIN-10012345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364int __fastcall main(int argc, const char **argv, const char **envp){ qmemcpy(encoded_flag, &byte_400A7E, sizeof(encoded_flag)); stack_canary = __readfsqword(0x28u); data_pointer = obfuscated_key; for ( index_outer_loop = 9LL; index_outer_loop; --in ...
how2heap
发表于2025-02-21|更新于2025-02-21|house of|traditional pwn
house of手法前言house of的手法只需理解其中的技巧,了解如何从小小的漏洞获得rce house of einherjar漏洞成因溢出写、off by one、off by null 适用范围 2.23—— 至今 可分配大于处于 unsortedbin 的 chunk 利用原理利用 off by null 修改掉 chunk 的 size 域的 P 位,绕过 unlink 检查,在堆的后向合并过程中构造出 chunk overlapping。 申请 chunk A、chunk B、chunk C、chunk D,chunk D 用来做 gap,chunk A、chunk C 都要处于 unsortedbin 范围 释放 A,进入 unsortedbin 对 B 写操作的时候存在 off by null,修改了 C 的 P 位 释放 C 的时候,堆后向合并,直接把 A、B、C 三块内存合并为了一个 chunk,并放到了 unsortedbin 里面 读写合并后的大 chunk 可以操作 chunk B 的内容,chunk B 的头 相关技巧虽然该利用技巧至今仍可以利用, ...
Hexagon学习
发表于2025-02-13|更新于2025-02-13|hexagon-pwn|hexagon
Hexagon 学习Hexagon 是高通(Qualcomm)开发的 数字信号处理器(DSP) 架构,专为移动设备、物联网和边缘计算设计,以高效能、低功耗为核心优势。它被集成在高通骁龙(Snapdragon)系列芯片中 hexagon用allocframe开辟栈帧:LR压栈,FP压栈,SP减去一定数值向低地址开辟,FP设置成指向旧FP的指针。deallocframe/dealloc_return用于销毁栈帧/销毁栈帧并返回,从栈底取回FP和LR。 一共有32个32位通用寄存器,r0-r31。存在寄存器对,可以当做64位寄存器使用,如r0和r1可以合并成r1:0 r29-r31是别名寄存器。r29是SP,r30是FP,r31是LR寄存器。SP是栈顶寄存器,FP是栈(底)寄存器,LR是储存返回地址的寄存器。 看汇编感觉是类arm架构 主要的汇编有 12345allocframe(#0x10) #开辟栈空间add(r0,#-0x10) #加减乘除,有返回值call funcdealloc_return #pop and ret (类似pop,但是hexagon ...
12…5
avatar
s1nec-1o
万事胜意
文章
43
标签
16
分类
23
Follow Me
公告
正在学习iot pwn 欢迎广大师傅与我交流
最新文章
protobuf初探2025-05-13
windows heap初探(2)2025-05-10
windows pwn初探(1)2025-05-08
Qemu逃逸初识2025-05-04
Android逆向之Wiki篇2025-04-14
分类
  • 2024ROIS冬令营3
  • 2024年终总结1
  • Go-pwn1
  • IOT安全11
    • 漏洞复现7
  • Pwn知识5
  • Web安全1
  • hexagon-pwn1
标签
android hexagon go Fuzz IOT安全 年终总结 Qiling 杂谈 protobuf openwrt Web kernel qemu逃逸 windows pwn 开发 traditional pwn
归档
  • 五月 20254
  • 四月 20252
  • 三月 20252
  • 二月 20253
  • 一月 20252
  • 十一月 20241
  • 八月 20243
  • 七月 20243
网站资讯
文章数目 :
43
本站访客数 :
本站总访问量 :
最后更新时间 :
©2024 - 2025 By s1nec-1o
介是s1nec-1o的博客