【问题标题】:Python: Using a Cookie to Maintain StatePython:使用 Cookie 来维护状态
【发布时间】:2014-08-25 02:33:55
【问题描述】:

我已经建立了一个系统来练习进行 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 来维护状态?

【问题讨论】:

    标签: python http post cookies


    【解决方案1】:

    您需要对所有请求使用相同的开启器才能使其正常工作。所以而不是:

    response = urllib2.urlopen(req)
    

    使用:

    response = opener.open(req)
    

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-12-05
      • 1970-01-01
      • 2013-04-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-19
      相关资源
      最近更新 更多