Python 发布cookie数据并返回值
我正在制作一个程序,尝试用python强制执行cookie值。 我在一个专为IT安全学生设计的环境中工作,它就像一个CTF-as-a-service。 我正在执行的任务是一个编程糟糕的登录站点,创建cookie会话的方法很弱。 cookie由三个值组成,一个从服务器端返回的整数、用户名和散列。我已经设法获取用户名和哈希,但我需要强制使用int值 我从来没有对饼干做过任何事情,也没有试图对它们进行暴力。 我想我可以手动观察程序运行并返回站点的标题,直到内容长度发生变化 这是我目前掌握的密码Python 发布cookie数据并返回值,python,security,cookies,Python,Security,Cookies,我正在制作一个程序,尝试用python强制执行cookie值。 我在一个专为IT安全学生设计的环境中工作,它就像一个CTF-as-a-service。 我正在执行的任务是一个编程糟糕的登录站点,创建cookie会话的方法很弱。 cookie由三个值组成,一个从服务器端返回的整数、用户名和散列。我已经设法获取用户名和哈希,但我需要强制使用int值 我从来没有对饼干做过任何事情,也没有试图对它们进行暴力。 我想我可以手动观察程序运行并返回站点的标题,直到内容长度发生变化 这是我目前掌握的密码 fro
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.我如何始终向盐中添加+1并重新创建饼干?
3.如何将其发布到站点并知道找到了正确的请求?发布请求时,您必须使用cookies作为参数,而不是数据
s.post(url, cookies=<cookiejar>)
在正常登录过程中,您通常希望保存cookie,这正是requests.session可以帮助您完成的。您将密码告知服务器,服务器将为您创建一个安全的cookie,并要求您的客户端进行设置,然后您的客户端将该cookie与后续的每个请求一起发送到服务器。但是,在尝试强制执行哈希时,您每次都希望发送不同的cookie。因此,您甚至可能不想使用requests.session,而是创建自己的cookie—您已经有了相应的代码,并在每个请求中创建和发送一个新的cookie。请参阅关于如何进行手动cookie处理的说明。