web安全实验5
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
警示:实验报告如有雷同,雷同各方当次实验成绩均以0分计;在规定时间内未上交实验报告的,不得以其他方式补交,当次成绩按0分计;实验报告文件以PDF格式提交。
院系数据科学与计
算机学院
班级电政1班学号12330256姓名庞逍逸
完成日期:年月日
cookies欺骗与防御实验
【实验目的】
1.了解cookies欺骗与防御的基本原理;
2.掌握cookies欺骗的几种途径;
3.掌握防御cookies欺骗的基本方法。
【实验原理】
Cookies是由服务器返回的、记录此访问站点相关信息的文本文件,存储于浏览器目录中,约255个字符,占4KB硬盘空间。当用户正在浏览某站点时,它存储于RAM中,退出浏览器后,存储到硬盘中。Cookie名称和值可以由服务器端开发自己定义,对于JSP而言也可以直接写入jsessionid,这样服务器可以知道该用户是否是合法用户以及是否需要重新登录等,服务器可以设置或读取Cookies中包含信息,借此维护用户跟服务器会话中的状态。
本实验中,Cookies欺骗是针对cookies基于键值对的内容存储形式进行数据改写,以达到非法目的。
【实验环境】
win7操作系统、chrome浏览器。
【实验要求】
1.设计实验场景(操作系统、版本等),必要的话画出拓扑图。
2.适当选取实验对象和方法,实施cookies欺骗,截图说明。
3.观察防火墙对cookies欺骗的响应情况,给出适当的解释。
4.针对cookies欺骗,设计防御方法,并进行验证。
5.提出cookies欺骗的一般防御策略。
6.写出实验体会。
(实验可以使用相关工具软件,也可以自行编写脚本程序)
1.实验原理图:如下图所示。说明:浏览器页面只验证会话id(sessionid),只要用户名(name)和密码(password)不会空即可通过。如果客户端建立两个sessionid为6的cookie,则用户A只要使用B 的会话id,即可欺骗服务器,使之认为该用户为B。本次实验,我将使用管理员的会话id,欺骗服务器。
2.实验过程
步骤一:进入此网站:/szwyadmin/login.asp。
按F12,查看cookie状况:
步骤二:按F12,并在控制台输入以下代码。
步骤三:连续点击网页上的“确定”。
步骤四:进入此网址/szwyadmin/admin_index.asp,可进入系统,获得管理员身份和权限。在用户管理中修改管理员admin密码为123456,退出系统后,可用新密码登入。
此时查看cookie状况,新增了若干条,都是测试时输入的。
3.观察防火墙对cookies欺骗的响应情况,给出适当的解释。
答:我的防火墙未响应,但同学的电脑会提示可能泄露个人信息。原因:由于手动修改cookie,防火墙检测到用户名和密码等敏感信息可能泄露,所以会有弹窗提示。
4.针对cookies欺骗,设计防御方法,并进行验证。
答:cookie验证时再加上比对从数据库中读取的用户名和密码,即可验证用户是否合法。这样,网站就可以拒绝非法用户。
5.提出cookies欺骗的一般防御策略。
答:1.给cookie加时间戳和IP戳,即令cookie在同个IP下,一定时间后会失效。
2.为cookie加密:在末端加一个验证字段(MAC码),为前面所有字段合算出来的摘要,再加密的结果。这样,验证MAC码即可知cookie是否被篡改过。对篡改过的,直接清除。
3.在cookie中储存用户名和密码,当用户访问一个页面时,先读取session,如果有内容,以此为准;否则读取cookie,按照cookie中的用户名和密码进行登录(验证是否篡改),若合法,进入session中。
6.实验体会。
答:网站使用cookie来存储用户信息是有风险的,很容易被攻击者利用,一方面用户的信息可能泄露、非法使用,另一方面攻击者可能利用管理员权限破坏网站,造成更大的损失。所以,采取加密、session 和数据库的搭配验证是必须的。同时,通过本次实验,我明白了自己还需要提高探索和自学能力,要学会自己设计实验步骤,对实验中遇到的问题要通过多种方式解决。