uaf

CVE-2017-0261及利用样本分析

偶尔善良 提交于 2021-02-18 07:38:11
CVE-2017-0261及利用样本分析 注意事项: 1. 本篇文章由 Gcow 安全团队复眼小组的 ERFZE 师傅原创,未经许可禁止转载 2. 本篇文章一共 2313 字, 39 张图,预计用时 20 分钟 3. 文中提及的方法仅供参考学习,若用在实际情况而造成的损失,本团队以及本公众号概不负责 4. 若本篇文章中存在说得有错误或者模糊的环节,希望各位看官可以在后台留言或者评论指出,本小组不胜感激! 0x01 漏洞描述 • 成因:打开Office文档时,FLTLDR.EXE将被用于渲染包含该漏洞的嵌入式EPS文件。该文件是由PostScript语言编写而成,可以被攻击者通过"save-restore"操作利用,其本质为一UAF漏洞。当用户打开包含格式错误的图形图像的文件时,或者当用户将格式错误的图形图像插入到 Office 文件时,该漏洞可能会受到利用。 • 影响版本:Microsoft Office 2010 Service Pack 2、Microsoft Office 2013 Service Pack 1、Microsoft Office 2016 • POC:kcufId's Github(https://github.com/kcufId/eps-CVE-2017-0261) 0x02 POC分析 笔者在网上寻找许久,并未找到包含EPSIMP32

CatiaMagic — 基于MBSE的产品创新和正向开发工具

寵の児 提交于 2021-02-09 11:02:04
CatiaMagic,原名MagicDraw,被达索收购后融入3DExperience产品协同研发管理平台中。该软件提供对SysML/UML/UAF语言的完整支持,提供独有的MagicGrid方法论,涵盖业务和任务分析、利益攸关者需要及需求分析、系统需求定义、系统架构定义、设计方案权衡、系统分析验证及协同设计管理等内容,支持早期对方案可行性进行快速验证,并更快地分析替代方案,探索更完整的设计空间。采用基于模型的协同设计,实现模型元素追溯,便于变更管理及影响分析、提高设计重用、沟通和理解质量。 产品功能 • 专业的系统工程方法论 基于INCOSE OOSEM方法和工程实践提出了适用于复杂产品开发的MagicGrid方法论。该方法按照产品不同的研制阶段需要关注的问题将设计过程分为问题域(产品需求分析)、解决方案域(产品方案设计)及实现域。在不同域内部,将分析过程细分为需求、行为、外部环境及能效指标四个视角维度,以便更全面的表达产品应具备的属性。通过不断的设计迭代,实现复杂产品的正向设计及完整的追溯过程。软件依据MagicGrid方法论,提供设计向导、流程模板,通过实践,帮助MBSE在研发各阶段落地实施。 • 仿真分析功能 提供模型执行框架(OMG fUML、W3C SCXML、JSR223等);支持模型调试和执行动画环境;支持用户交互界面建模和执行;内嵌求解器,支持与多学科专业分析工具

buuoj Pwn writeup 21-30

喜夏-厌秋 提交于 2021-02-08 09:34:38
21 ciscn_2019_ne_5 保护 这个地方的strcpy函数,一看就估摸着有问题。 他把src那块的东西复制到了dest 但是你会发现 dest那里 0x48 但是你是可以往src那里输入东西的。 一口气能输128个字节,那这就造成了溢出。 那再说怎么利用 这个地方首先要注意他这里没有/bin/sh,但是有sh 而且还非常隐蔽 所以呢咱们这边推荐之后/bin/sh跟sh的搜索都用ROPgadget。 非常的nice 然后程序里面本来就有system函数,然后就一把梭。 exp from pwn import * context ( log_level = 'debug' ) proc_name = './2019' p = process ( proc_name ) # p = remote('node3.buuoj.cn', 29868) elf = ELF ( proc_name ) system_addr = elf . sym [ 'system' ] main_addr = elf . sym [ 'main' ] sh_str = 0x80482ea p . sendlineafter ( 'password:' , 'administrator' ) p . recv ( ) p . sendline ( '1' ) p . recvuntil (

Freebsd UMA 内核堆安全特性解读

非 Y 不嫁゛ 提交于 2021-01-13 11:23:49
作者:wzt 原文链接: https://mp.weixin.qq.com/s/20ACZFyQiUWZf5cIm_ZW-w 1.1 简介 Freebsd的内核内存分配器叫做UMA(Universal Memory Allocator),这篇文章只关心它的安全特性,对于常规功能实现请读者朋友参考网络上的其他文章。它的安全功能特性相比XNU、NT、LINUX都少了很多,并且还存在一些不安全的构架设计,下面将会详细分析。 1.2 架构设计缺点 UMA的总体架构也是基于solaris slab, 我们直接看最底层的slab结构,一个slab大小为PAGE_SIZE,slab的管理体结构依据slab里的每个item大小而决定,对于小块item,slab管理结构体放在slab里,并且是放到PAGE_SIZE的最后。对于大块item,管理结构体则单独分配一个内存,不包含在slab里。 对于小块item, slab这种设计属于严重的安全错误设计,slab header放在所有item的最后,如果最后一个item发生溢出,就可以直接覆盖slab header里的数据结构。 struct uma_slab { uma_keg_t us_keg; /* Keg we live in */ ... } Slab header结构为struct Uma_slab,它的第一个成员是us_keg。

Microsoft Windows Win32k 本地提权漏洞分析(CVE-2015-0057)

情到浓时终转凉″ 提交于 2020-12-30 10:49:36
作者: 深信服千里目安全实验室 原文链接: https://mp.weixin.qq.com/s/9-fXGgS0zNagyVWF2lwklg 一、漏洞信息 1、漏洞简述 漏洞名称:Microsoft Windows Win32k Local Privilege Escalation Vulnerability 漏洞编号:CVE-2015-0057 漏洞类型:UAF 漏洞影响:本地提权 CVSS3.0:N/A CVSS2.0:7.2 2、组件和漏洞概述 win32k.sys是Windows的多用户管理的sys文件。 Windows内核模式驱动程序(Win32k.sys)中存在一个特权提升漏洞,该漏洞不当处理内存中的对象时引起。成功利用此漏洞的攻击者可以获得更高的特权并读取任意数量的内核内存。攻击者可能会安装程序;查看,更改或删除数据;或创建具有完全管理权限的新帐户。 3、影响版本 Windows Server 2003 Service Pack 2 Windows Server 2008 Service Pack 2 Windows Server 2008 R2 Service Pack 1 Windows Vista Service Pack 2 Windows Server 2012 Windows Server 2012 R2 Windows 7 Service Pack 1

php中函数禁用绕过的原理与利用

早过忘川 提交于 2020-12-24 18:38:19
bypass disable function 是否遇到过费劲九牛二虎之力拿了webshell却发现连个scandir都执行不了?拿了webshell确实是一件很欢乐的事情,但有时候却仅仅只是一个小阶段的结束;本文将会以webshell作为起点从头到尾来归纳bypass disable function的各种姿势。 本文涉及相关实验: 绕过函数过滤 (通过本实验学会通过宽字节方式绕过mysql_real_escape_string()、addslashes()这两个函数。) 从phpinfo中获取可用信息 信息收集是不可缺少的一环;通常的,我们在通过前期各种工作成功执行代码 or 发现了一个phpinfo页面之后,会从该页面中搜集一些可用信息以便后续漏洞的寻找。 我谈谈我个人的几个偏向点: 版本号 最直观的就是php版本号(虽然版本号有时候会在响应头中出现),如我的机器上版本号为: PHP Version 7.2.9-1 那么找到版本号后就会综合看看是否有什么"版本专享"漏洞可以利用。 DOCUMENT_ROOT 接下来就是搜索一下 DOCUMENT_ROOT 取得网站当前路径,虽然常见的都是在/var/www/html,但难免有例外。 disable_functions 这是本文的重点,disable_functions顾名思义函数禁用,以笔者的kali环境为例

漏洞挖掘的艺术-面向二进制的静态漏洞挖掘

馋奶兔 提交于 2020-10-08 02:49:06
亲爱的,关注我吧 8/31 文章共计3165个词 今天的内容有一些图,流量用户注意哦 和我一起阅读吧 0 本文是本系列的第二篇,将对面向二进制程序的静态漏洞挖掘技术进行介绍与分析。 面向二进制程序的静态漏洞的挖掘技术由于缺少源代码中的结构化信息,面临着值集分析(vaule-set analysis,VSA)与控制流恢复不精确的问题,但是二进制程序相对于源码而言更容易获得,所以这方面的研究工作一直都有新的研究动态,并且会在第2部分介绍目前流程的两种技术。在进一步分析之前,我们首先来具体解释前文提出的两个问题。 1 1.1 值集分析是一种结合数值分析和指针分析的静态分析算法。VSA是一种基于抽象解释的、流敏感、上下文敏感、支持过程间分析的方法。VSA首先建立抽象内存模型,恢复可执行程序中的变量并用抽象地址表示,然后对每条指令静态计算抽象地址可能包含的值的集合。 典型的值集分析算法的伪码表示如下 上图的集合W被称为word-list,其操作包括add,removeNext,分别用于添加和移除项。Word-list按照拓扑顺序进行排序,初始化时包含着基本块的入口点,用于指示从此处开始正向分析。while循环的每次迭代里,Analysis函数都会在第6行被调用来分析选中的基本块。Analysis会基于输入状态产生大量的输出状态,那些变化的输出状态会被添加到word-list中

win32k.sys 漏洞挖掘思路解读

非 Y 不嫁゛ 提交于 2020-08-11 02:16:17
作者:启明星辰ADLab 公众号: https://mp.weixin.qq.com/s/jbZK0w53DTam_FVpLpWYGQ 1 研究背景 4月1日,以色列安全研究员Gil Dabah在博客上发布了一篇关于win32k漏洞研究文章,描述了如何通过内核对象的Destroy函数和win32k user-mode callback缓解措施的特性来寻找UAF漏洞的新思路。 为此,启明星辰ADLab对win32k相关内核机制进行研究分析,并对这类漏洞的挖掘思路进行详细解读分析。 2 win32k漏洞缓解与对抗 2.1 win32k user-mode callback漏洞 由于设计原因,win32k驱动需要处理很多用户层的回调,这些回调给win32k模块的安全带来了非常大的隐患,并在过去10年时间贡献了大量的漏洞。 为了便于漏洞描述,以如下伪代码进行举例分析。 NtUserSysCall() { PWND p = CreateWindowEx(…); somecallback(); xxxSetWindowStyle(p); } 上述代码执行效果如下图所示,用户层执行的某函数通过syscall传入内核层,当内核层代码执行到somecallback这一句时,用户层可以在用户定义的callback函数中获得代码执行的机会