经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 其他 » 网络安全 » 查看文章
那些年我们踩的坑,依然有人在踩坑
来源:cnblogs  作者:黑白记忆  时间:2018/11/30 9:30:54  对本文有异议

       去年公司南山接了一个大单,由于项目没有类似的借鉴完全要靠自己摸索,然后是做一版感觉不行又要调整,反反复复修改,然后新功能又要开发,一时一个人根本忙不过来,非常头痛,为工作更方便干脆安营扎山寨在客户那边,边开发边讨论解决方案,每天都是半夜才回到家。但是由于新功能要开发,旧的版面也在做调整,然后也有些许bug要修补,一个人工作量太大了,一边客户要求进度快,所以很多细节就忽略了,但也这样埋下了安全隐患。工作持续三个月左右,终于是要开发完成了,心中甚是高兴,终于一个项目又要完成了。但也这个时候,客户找一个专业测试员,专门测试系统的漏洞,之前埋下的祸根就显现出来了,一下找到7、8个漏洞,其中包括在线支付,客户信息的安全等。

举个栗子客户信息是怎么不安全的

在查询用户信息的时候使用sql

  1. select top 1 * from addr where id=地址id

在正常情况下,这个是肯定是没有问题的,用户的地址id是唯一。但是呢,如果在web网站下,使用get请求去获取,用户随便修改一个id,那么可能是获取到别的客户的信息了,这时候其他客户的信息严重泄露了。

如web地址get地址是/user/deliveryAddress/55,用户输入的是/user/deliveryAddress/56 

所似我们正确做法是,从当前登录的session中获取用户id,同时使用用户id和地址id对比,这样才不会出错。

  1. select top 1 * from addr where id=地址id and userid=用户id

确保此地址的信息是当前用户的

 

 

这种错误是不是只我才犯过呢?其实不然

前几天某蛋糕被曝不是当天新鲜制作,内部管理乱得一塌糊涂,其实之前也在他们家买过蛋糕,于是好奇去了他们官网看一下,无意中发现在用户修改地址信息的时候也是用户我之前的方式获取信息/user/deliveryAddress/id 。

做为一个it,之前我就犯过这种错误,好奇之下,我随便修改了一个地址id,果然地址信息改变了,看到其他用户的信息。后来为了验证,我在tampermonkey上写一个循环

  1. // ==UserScript==
  2. // @name xfxb
  3. // @namespace http://tampermonkey.net/
  4. // @version 0.1
  5. // @description try to take over the world!
  6. // @author You
  7. // @match https://www.xfxb.net/*
  8. // @require http://code.jquery.com/jquery-1.11.0.min.js
  9. // @grant none
  10. // ==/UserScript==
  11. (function() {
  12. 'use strict';
  13. for(var i=1000;i<1005;i++){
  14. $.get("/user/deliveryAddress/"+i, function(result){
  15. console.log(result);
  16. });
  17. }
  18. // Your code here...
  19. })();

出现了以下信息

轻松拿到其他用户的地址信息,看来其他人也同样会犯这种错误。

 

@某蛋糕网站的It,你的漏洞了该修复了

 

记录踩过的坑,希望其他人少踩到相同的坑,并且能在CNBLOGS这找到解决办法

 

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号