Kali Linux Web渗透测试手册(第二版) - 2.7 - 获取和修改cookie
标记红色的部分为今日更新内容。
第二章:侦察
介绍
2.1、被动信息收集
2.2、使用Recon-ng收集信息
2.3、使用Nmap扫描和识别应用服务
2.4、识别web应用防火墙
2.5、识别HTTPS加密参数
2.6、使用浏览器自带的开发工具来做基本的分析和修改
2.7、获取和修改cookie
2.8、利用robots.txt
2.7、获取和修改cookie
Cookie是web服务器发送给浏览器的一小段与特定用户相关的信息,它被存储在本地。在现代web应用中,cookie被用来存储特定用户的数据,比如颜色主题配置,已经设置好的选项,之前的活动内容,最重要的是会话标识。
在这个小节中,我们将使用浏览器工具来查看cookie值,它们是怎样被存储,以及怎样被修改的。
准备
首先把我们的vm1虚拟机运行起来,并把ip地址设置为192.168.56.11。接下来将使用firefox作为我们的浏览器。
在Firefox中,默认情况下不会启用开发者工具中的存储选项卡,要想启用它,先打开开发者工具(可以摁F12),然后进入工具箱选项(右边的齿轮图标)。开发者工具默认勾选了存储箱。
怎么做…
要查看和编辑cookie的值,我们可以使用开发者工具或第一章中被安装的cookie管理器插件。设置好kali和测试环境,让我们试试这两种方法:
1. 浏览器访问http://192.168.56.11/WackoPicko
2. 打开开发者工具,进入存储选项卡:
我们可以通过双击cookie值来修改成任意cookie
3. 现在,我们试试使用插件查看并编辑cookie。在firefox的顶栏中点击cookie管理器图标
在上面的图片中,我们可以看到服务器给浏览器分配的cookie值,我们可以修改它们,删除它们,或添加新cookie
4. 选择192.168.56.11分配给我们的phpsessid并双击编辑它
5. Httponly参数选择为yes
我们修改的httponly是告诉浏览器这个cookie不允许被客户端脚本访问。
它是如何工作的…
CookiesManagers 是一个可以查看、修改、添加、删除cookie的浏览器插件,由于一些web应用依赖这些存储的cookie值,所以攻击者可以通过注入恶意cookie来改变服务器行为或者修改虚假cookie来获得更高的权限。
另外在现代web应用中,会话cookie也经常被使用,并且经常被作为登陆后的唯一凭证。这就导致替换已激活的cookie可以模拟成其他有效用户的会话。
更多
在web应用的渗透测试中,我们需要注意cookie的某些特性来保证它们的安全:
Httponly:如果cookie设置了此特性,则无法通过浏览器脚本访问它。这意味着cookie只能在服务器修改。但我们仍然可以通过浏览器工具或插件修改它
Secure:cookie不会在未加密的通道中传输;如果网站使用了https并且在cookie中设置了secure属性,当请求在http中处理时,浏览器不会接受和发送cookie
Expires:如果把cookie过期时间设为未来某一个时间,cookie将被存储在一个本地文件中,导致浏览器被关闭后cookie仍然保存。攻击者可以从文件中直接获取cookie,可能窃取到其他有效用户的会话。