Python:使用Cookie来维护状态

时间:2014-07-03 20:20:19

标签: python http post cookies

我已经建立了一个系统来练习Padding Oracle攻击,经过大量工作后我发现我的漏洞无效,因为我的代码没有用cookie保持状态!在阅读完cookie后,我仍然可以在修改代码时使用一些帮助,以便正确维护状态。

我开始制作我的饼干罐。这也应该从我想要的网站(据我的理解)中获取cookie:

cookieJar = cookielib.CookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookieJar))
opener.open('http://192.168.1.12/main_login.php')

我有正常的工作代码来抓取网站数据,所以我可以通过BeautifulSoup解析它

usock = urllib2.urlopen("http://192.168.1.12/main_login.php")   
data = usock.read()
usock.close()

并发送包含相应数据的帖子:

url = 'http://192.168.1.3/check_login.php'
values = {'login_captcha': CAPTCHAguess, 'captchaID': BogusCipher, 'iv': IVprime}
data = urllib.urlencode(values)
req = urllib2.Request(url, data)
response = urllib2.urlopen(req)
the_page = response.read()
response.close()

在上面两位代码中我需要更改什么才能在拉取和发布数据时使用cookie来维护状态?

1 个答案:

答案 0 :(得分:1)

您需要为所有请求使用相同的开启工具。所以而不是:

response = urllib2.urlopen(req)

使用:

response = opener.open(req)

在这些情况下必须注意:考虑使用优秀的requests

相关问题