CVE-2017-11882缓冲区漏洞实验复现:可执行非授权命令、执行恶意shellcode等高危攻击操作
摘要:缓冲区溢出是一个非常普遍的漏洞,广泛存在于操作系统和各种应用程序软件中。 非授权命令、执行恶意shellcode等高危攻击操作。CVE-2017-11882是令我印象深刻并发现它更有趣的一种。
缓冲区溢出是一个非常普遍的漏洞,广泛存在于操作系统和各种应用程序软件中。非授权命令、执行恶意shellcode等高危攻击操作。CVE-2017-11882是令我印象深刻并发现它更有趣的一种。 攻击者只需将准备好的word文档发送到目标,然后打开该文档即可完成攻击,这既简单又暴力。
CVE-2017-11882的使用过程简要概述如下。
1.在Word中打开一个包含攻击代码的Doc文件
2.Word启动公式编辑器组件EQNEDT32.EXE
3.EQNEDT32.EXE在处理OLE对象的数据流时溢出,跳转.text:00430C12调用WinExec以执行命令或shellcode
为了模拟和重现上述过程,编写并构造2个小程序和1个txt文件。 操作步骤如下:
Word应用程序软件-> OF-GUI.exe EQNEDT32.EXE ==> OF-Demo.exe Doc文档==> txt文档
1.使用OF-GUI.exe打开txt文件
2.OF-GUI.exe启动OF-Demo.exe,加载并处理txt文件
3. OF-Demo.exe溢出后,执行txt中的命令
实验结果如下:
步骤
1.使用IDA打开EQNEDT32.EXE,找到名为WinExec的函数sub_430C00。
2.按F5转换为C代码
3.在Visual Studio中创建一个控制台程序项目,复制上面的sub_430C00函数,对其进行微调,并删除不相关的代码
UINT sub_430C00(const char* lpCmdLine)
{
UINT result;
char Buffer[256];
result = WinExec(lpCmdLine, 1);
if (result < 32) // 1 = SW_NORMAL
{
FatalAppExit(0, TEXT("WinExec Failure"));
}
return result;
}
4.编写一个典型的缓冲区溢出功能。 使用不安全的复制功能strcpy定义32字节的局部变量。 如果传递的字符串超过32个字节,则会发生溢出
void sub_ovdemo(char *buffer)
{
char stack_buf[32];//传入超过32字节的字符串,就会发生溢出
strcpy(stack_buf, buffer); // Disable Security Check (/GS-)
DWORD bufsize = strlen(buffer);
if (bufsize > 32)
{
printf("stack is overflow: %c", stack_buf[1]);
}
else
{
printf("%s", buffer);
}
}
5.编译项目后,在strcpy行上设置一个断点并开始调试
如上图所示,输入sub_ovdemo函数代码空间后,EBP = 0X18FF04,
红色箭头表示ebp 8是用于调用sub_ovdemo的参数缓冲区
ebp 4 = 0×00401096(友好提醒:低位在顶部,高位在底部)是函数退出时要跳转的下一条指令的地址
绿色箭头所指的32个字节是局部变量char stack_buf的存储区域[32]
到目前为止,到目前为止非常清楚,只要构造一个32 4 4 = 40字节的缓冲区,您就可以溢出以覆盖ebp 4并跳至您要到达的位置。
6.在VS中或使用IDA从上述sub_430C00函数检查对WinExec的调用,您可以获得要跳转到的地址:004010B3
因此,用004010B3溢出覆盖上述ebp 4(00401096),然后可以使用WinExec执行有效负载命令。
7.构造一个超过40个字节的Txt。 使用十六进制编辑器,并将溢出地址0x004010B3写入txt。
8.只要上述txt文件的内容传递给sub_ovdemo函数,您就可以溢出并执行命令。
相关热词搜索:CVE-2017-11882 缓冲区漏洞 非授权命令 恶意shellcode
上一篇:微软win7正式宣布停服,双星0day漏洞利用来袭,360盾甲拦截并提供补丁下载
下一篇:SOP(同源策略)绕过漏洞:Keybase的CORS策略错误配置,可以操纵浏览器缓存获取用户敏感数据信息
人机验证(Captcha)绕过方法:使用Chrome开发者工具在目标网站登录页面上执行简单的元素编辑,以实现Captcha绕过
牛创网络: " 人机身份验证(Captcha)通常显示在网站的注册,登录名和密码重置页面上。 以下是目标网站在登录页面中排列的验证码机制。 从上图可以
2020-01-26 12:44:09 )8872( 亮了
自动发现IDOR(越权)漏洞的方法:使用BurpSuite中的Autozie和Autorepeater插件来检测和识别IDOR漏洞,而无需手动更改每个请求的参数
牛创网络: "自动发现IDOR(越权)漏洞的方法:使用BurpSuite中的Autozie和Autorepeater插件来检测和识别IDOR漏洞,而无需手动更改每个请求的参数
2020-01-30 14:04:47 )6288( 亮了
Grafana CVE-2020-13379漏洞分析:重定向和URL参数注入漏洞的综合利用可以在任何Grafana产品实例中实现未经授权的服务器端请求伪造攻击SSRF
牛创网络: "在Grafana产品实例中,综合利用重定向和URL参数注入漏洞可以实现未经授权的服务器端请求伪造攻击(SSRF)。该漏洞影响Grafana 3 0 1至7 0 1版本。
2020-08-12 14:26:44 )4301( 亮了
Nginx反向代理配置及反向代理泛目录,目录,全站方法
牛创网络: "使用nginx代理dan(sui)是http响应消息写入服务地址或Web绝对路径的情况。 写一个死的服务地址是很少见的,但它偶尔也会发生。 最棘手的是写入web绝对路径,特别是如果绝对路径没有公共前缀
2019-06-17 10:08:58 )3858( 亮了
fortify sca自定义代码安全扫描工具扫描规则(源代码编写、规则定义和扫描结果展示)
牛创网络: "一般安全问题(例如代码注入漏洞),当前fortify sca规则具有很多误报,可通过规则优化来减少误报。自带的扫描规则不能检测到这些问题。 需要自定义扫描规则,合规性角度展示安全风险。
2020-02-12 10:49:07 )3505( 亮了
整理几款2020年流行的漏洞扫描工具
牛创网络: "漏洞扫描器就是确保可以及时准确地检测信息平台基础架构的安全性,确保业务的平稳发展,业务的高效快速发展以及公司,企业和国家 地区的所有信息资产的维护安全。
2020-08-05 14:36:26 )2536( 亮了
微擎安装使用技巧-微擎安装的时候页面显示空白是怎么回事?
牛创网络: "我们在公众号开发中,有时候会用到微擎,那我们来看一下微擎安装的时候页面显示空白是怎么回事吧
2019-06-08 15:34:16 )2261( 亮了
渗透测试:利用前端断点拦截和JS脚本替换对前端加密数据的修改
牛创网络: " 本文介绍的两种方法,虽然断点调试比JS脚本代码替换更容易,但是JS脚本代码替换方法可以实现更强大的功能,测试人员可以根据实际需要选择适当的测试方法
2020-01-07 09:34:42 )1995( 亮了
从工业界到学界盘点SAS与R优缺点比较
牛创网络: "虽然它在业界仍然由SAS主导,但R在学术界广泛使用,因为它的免费开源属性允许用户编写和共享他们自己的应用程序 然而,由于缺乏SAS经验,许多获得数据分析学位的学生很难找到工作。
2019-07-13 22:25:29 )1842( 亮了
41款APP侵犯用户隐私权:QQ,小米,搜狐,新浪,人人均被通报
牛创网络: "随着互联网的不断发展,我们进入了一个时代,每个人都离不开手机。 但是,APP越来越侵犯了用户隐私权。12月19日,工业和信息化部发布了《关于侵犯用户权益的APP(第一批)》的通知。
2019-12-20 11:28:14 )1775( 亮了