我正在制作一个程序,尝试用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.如何将其发布到网站并知道找到了正确的网站?
答案 0 :(得分:0)
在发布请求时,您必须使用cookie作为参数而不是数据
s.post(url, cookies=<cookiejar>)