昨天使用python的requests库发post请求实现了想要的效果,但是返回值是状态码,想要获取cookie,看下面操作:
import requests
respone=requests.get('http://www.jianshu.com')
# respone属性
print(respone.text) # 获取响应的页面内容
print(respone.content) # 获取二进制页面内容
print(respone.status_code) # 获取响应状态码
print(respone.headers) # 获取来自服务器的与此响应关联的标头。
print(respone.cookies) # 获取或设置与此响应关联的 cookie。
print(respone.cookies.get_dict()) # 获取字典形式的cookie
print(respone.url) # 获取响应的url地址
print(respone.history) # 通过这个方法可以查看这个响应页面是从哪个url跳转过来的
print(respone.encoding) # 获取响应内容的编码格式
>>> print(response1.cookies)
< RequestsCookieJar[ < Cookie BAIDUID = 6BA7A5263775F7D67E0A4B88BF330717:FG = 1'
'for .baidu.com / >, < Cookie locale=zh for.baidu.com / >] >'
>>> print(response1.cookies['BAIDUID'])
————————————————
想要获取coookie,使用response.cookie["键"] 键填写cookie里面具体的字段。
web渗透测试漏洞:
今天漏洞扫描测试,出现几个漏洞,
一、slow http denial of service attack(缓慢的http拒绝服务攻击))
其原理是以极低的速度往服务器发送HTTP请求。由于Web Server对于并发的连接数都有一定的上限,因此:若是恶意地占用住这些连接不释放,那么Web Server的所有连接都将被恶意连接占用,从而无法接受新的请求,导致拒绝服务。
具体测试方法参见:https://www.fujieace.com/hacker/tools/slowloris-dos.html
python 安装slowloris库,
slowloris 192.168.40.120:攻击http80端口
slowloris -p=443 --https 192.168.40.120:攻击https 443端口
连接起来后,查看网页能否正常访问。
二、Cookie without Secure flag set(cookie中缺少secure标记)
Secure——防止信息传输过程中的泄露
- true —— cookie只能在HTTPS连接中传输,HTTP连接不会传输,所以不会被窃取到Cookie的具体内容
- false —— HTTP、HTTPS连接都可以传输cookie
漏洞危害:
未设置Cookie的Secure值,导致其值在http协议下也能上传到服务器,可能与其他漏洞等结合,可导致访问控制失效。
cookie 的 secure 属性为true,表示创建的 cookie 只能在 HTTPS 连接中被浏览器传递到服务器端进行会话验证,如果是 HTTP 连接则不会传递该信息。当secure为true时,使用http协议的,cookie不会传递给服务器。鉴于此,由于此平台是采用http传输的,那就是说必然会有这个漏洞?不然带了secure标签,浏览器就无法生成cookie发送给服务端。
和secure标签相应的有httponly标签,httponly参数是用来限制非HTTP协议程序接口对客户端COOKIE进行访问的,所以客户端脚本,如JS是无法取得这种COOKIE的,同时,JQuery中的“$.cookie('xxx')”方法也无法正常工作,所以想要在客户端取到httponly的COOKIE的唯一方法就是使用AJAX,将取COOKIE的操作放到服务端,接收客户端发送的ajax请求后将取值结果通过HTTP返回客户端。