这是一个很有意思的攻击方法,目前即使在glibc2.36都是可以使用的,甚至操作方式都是一样的,我将会从源代码出发,根据how2heap的poc来介绍这种攻击方式,在文章的结尾也会有总结,给出一个模版 原理 漏洞的源代码如下 if (in_smallbin_range (nb)) { idx = smallbin_index (nb); // 获取size对应的small bi
largebin attack largebin attack是一个在ctf中很好用的一种攻击方式,在目前的glibc中,主要在2.31这个版本前后有所差别,与unsortedbin attack不同(这种攻击在2.29就已经失效),unsortedbin attack是向任意地址写入一个mian_arena的地址,这个地址位于libc,而largebin attack写入的则是堆块地址,这篇文章
引言 Stephen Dolan 在他的论文《mov is Turing-complete》中提出了一个有趣的观点:x86 架构中的 mov 指令本身可以构建一个图灵机,从而证明它是图灵完备的(Turing-complete)。图灵完备性是一个系统能够模拟任何图灵机的能力,这意味着它可以执行任何算法。 这篇论文的核心观点是,尽管 mov 指令通常被看作是一个简单的数据传输指令,但它实际上可以用来实
RedLine stealer RedLine stealer是一个.NET编写的恶意软件,该恶意软件会从浏览器中收集信息,例如已保存的凭据、自动完成数据和信用卡信息。在目标机器上运行时,还会获取系统清单,包括用户名、位置数据、硬件配置和已安装安全软件的信息等详细信息。RedLine 的较新版本增加了窃取加密货币的功能。FTP 和 IM 客户端显然也是该系列的目标,该恶意软件能够上传和下载文件、执
House of roman 这个利用方式目前在2.23到2.29之间是可以利用的,而且对于漏洞点要求不高,主要是uaf和overflow(有一个uaf即可),在可以创建任意大小的堆块的情况下,不泄露出堆地址的情况下面,通过爆破(12bit也就是4096分之一),来getshell House of Roman 的一个核心思路就是利用局部写减少随机化的程度,从而给出爆破的可能 原理解析(poc)
json格式介绍 1.简单对象 { "name": "John Doe", "age": 30, "is_student": false } 这是一个包含三个键值对的简单对象。 2.嵌套对象 { "person": { "name": "John Doe", "age": 30, "address": { "street": "123 Main
相关知识 一些关键理解 注意这里和反弹shell不太一样,反弹shell创建了套间字后直接connect就行了 可以认为套接字这种方式就像一个中转站,将服务端和客户端联系起来,然后socket函数创建一个总的套接字,后面的函数创建分的套接字 套接字描述符类似于文件描述符,可以往里面写东西。区分好服务端和客户端就行 也可以用read和write进行读写,套接字描述符就像文件描述符 socket
基础知识 php pwn开启远程得到的实际上是远程用apache搭建的一个web页面,和web息息相关 我们上传文件后可以直接访问url/exp.php执行写的攻击脚本,进而得到flag 文件上传可用html,模板如下。要用phpstudy开启apache服务,然后用html进行文件上传 <!DOCTYPE html> <html lang="en"> <head
两种基本orw的shellcode 第一种 ; open("flag", 0) push 0x67616c66 push 0x2 pop rax mov rdi,rsp xor rsi,rsi syscall ; read(fd, rsp, 0x50) mov rdi,rax xor ra
House Of Rabbit 原理解析 House of rabbit是一种伪造堆块的技术,一般运用在fastbin attack中,在unsortedbin之类的链表里面有更好的利用方式,一般适用于2.23到2.26之间(也就是没有tcachebin),但是即使是有tcachebin,也是存在利用的(一直到2.31都是可以的),只要将相应大小的堆块tcachebin链表填满就行(但是很明显多此
这道题是2.35的堆题,开了sandbox,只能使用orw的形式,题目本身并不复杂,很适合高版本的堆利用入门,这篇文章将会以一个没有接触过高版本堆利用的新人视角,来从头开始,仔细了解这道题目 题目函数分析 主函数部分 作为一个接触高版本堆的pwn手,我觉得简单的逆向应该不会是难度,所以这里放的就是修改完函数名字的主函数部分,简单的逻辑应该是可以理解的 利用工具,看一下sandbox 可以看到,
UAC原理 UAC(User Account Control)简称用户帐户控制,是微软在Windows Vista以后的版本引入的一种安全机制。通过 UAC,任何需要管理员访问令牌权限执行的操作都必须提示用户同意(UAC弹窗),UAC 可以阻止未经授权的应用程序自动进行安装,并防止无意中更改系统设置。 UAC通过访问令牌来识别用户类型,当标准用户登录时,系统会生成一个访问令牌(只包含有限的权限);
前言 Windows中,对API函数名进行哈希化通常用于隐藏或保护程序中调用的函数名,以防逆向或者被简单的分析攻击,所以我们更对的需要对拿到的shellcode进行分析调试获取其真正的恶意行为 1.反汇编 本次例子中,bin文件木马选择的是x86,32位的木马进行,使用Ghidra进行反编译直接选择x86架构解析 由于没有文件头,无法告诉Ghidra代码从哪里开始,所以软件不会直接去做反编译,我
前言 Remcos是一种远程访问木马,用于远程控制受感染的PC,该恶意软件从2016年首次在暗网的地下黑客社区出售以来一直处于活跃状态。Remcos在恶意软件中排名高居全球第九,每个月都会发布新版本,此次样本捕获于7月2日。 沙箱分析 感染流程 IOC Hash 值 MD5 67E1E122A412C456946E5206247A92EB SHA1 7262D0EBF405CE4
序列号保护 首先来看看常见的序列号(又称注册码)保护的工作原理。从网上下载的共享软件(Shareware)一般都有使用时间或功能上的限制,如果超过了共享软件的试用期,就必须到这个软件的公司去注册方能继续使用。注册过程一般是用户把自己的信息(例如用户名、电子邮件地址、机器特征码等)告诉软件公司,软件公司根据用户的信息,利用预先编写的一个用于计算注册码的程序(称为注册机,KeyGen)算出一个