免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: yanyangtian4502
打印 上一主题 下一主题

【活动j结束 获奖名单公布】从近期互联网企业密码泄露探讨如何构建一个安全的系统 [复制链接]

论坛徽章:
0
21 [报告]
发表于 2012-01-04 10:58 |只看该作者
    大家可能有这样的经历,当你对一上网站感兴趣的时候,准备注册个帐号玩玩,在申请的过程中发现自己常用的用户名、邮箱却不可用,自己明明没注册的,却又可以正常登录,这就是所谓的“被注册”,现在的一些互联网企业为了“忽悠”VC来进行融资,通过刷库的方式来实现注册量的几何式增长

论坛徽章:
0
22 [报告]
发表于 2012-01-04 11:01 |只看该作者
本帖最后由 yanyangtian4502 于 2012-01-04 11:05 编辑

我给段代码出来吧:
因为对C++与php知之甚少,所以我就用C#代码写出来,热心的朋友转为其他代码,请发上来吧,多谢啊!

搞个图片看看把,看着好一点:


代码也放:(兄弟们,积极参与啊!我喝口水去,搞了一上午了)

private bool IsPasswordValid(string password, byte[] savedSalt, byte[] savedHash)
    {
        // 将字符串密码转为字节
        byte[] clearTextBytes = Encoding.UTF8.GetBytes(password);

        // 创建一个字节数组包括明文密码和salt的值
        byte[] clearTextWithSaltBytes =
        new byte[clearTextBytes.Length + saltBytes.Length];

        // 把将明文密码的字节copy到新的字节数组中
        for (int i = 0; i < clearTextBytes.Length; i++)
            clearTextWithSaltBytes = clearTextBytes;

        // 将salt值的字节数组也放在新的字节数组中
        for (int i = 0; i < saltBytes.Length; i++)
            clearTextWithSaltBytes[clearTextBytes.Length + i] = saltBytes;

        // 选择一个hash算法
        HashAlgorithm hash = new SHA256Managed();

        //生成hash值
        byte[] currentHash = hash.ComputeHash(clearTextWithSaltBytes);
        
        // 将生成的hash值与数据库中保存的hash值比较
        bool matched = false;

        if (currentHash.Length == savedHash.Length)
        {
            int i = 0;
            while ((i < currentHash.Length) & &(currentHash == savedHash))
            {
                i += 1;
            }
            if (i == currentHash.Length)
            {
                matched = true;
            }
        }
        return (matched);
    }

论坛徽章:
0
23 [报告]
发表于 2012-01-04 11:04 |只看该作者
yanyangtian4502 发表于 2012-01-04 10:38
刚刚零零碎碎说了一些散列(HASH,SHA)的话题。其实散列的“单向性”很适合我们保存密码。但是保存密码也不 ...




     所谓加盐(SALT)其实很简单,就是在生成HASH时给予一个扰动,使HASH值与标准的HASH结果不同,这样就可以抗彩虹查表了

   现在的互联网企业更多的追求效率和高可用,安全这块反而考虑的较少,在做架构设计之初安全和效率之间要进行平衡

论坛徽章:
0
24 [报告]
发表于 2012-01-04 11:07 |只看该作者
回复 23# king_819
安全,基本不考虑!随便找几个站点,都可以看到跨站脚本攻击的问题!现在互联网流行:快鱼吃慢鱼。起的快,落得快!



   

论坛徽章:
0
25 [报告]
发表于 2012-01-04 11:13 |只看该作者
本帖最后由 king_819 于 2012-01-04 11:18 编辑
yanyangtian4502 发表于 2012-01-04 11:07
回复 23# king_819
安全,基本不考虑!随便找几个站点,都可以看到跨站脚本攻击的问题!现在互联网流行: ...



     通过此次爆库事件希望能引起各互联网企业对网络安全的重视,特别是应用开发的程序员应该有安全的概念,现今很多攻击都是源于应用层,在这个互联网越来越普及的年代,一但一个大的网站被爆库,应引起的连锁反应是恐怖的,黑客利用“社会工程学”通过常用用户名、密码、邮箱、电话、找回密码答案等等信息来进行刷库,获取更多有价值的信息

论坛徽章:
0
26 [报告]
发表于 2012-01-04 11:29 |只看该作者
我认为,这次暴库也是对技术人员的重新考验!
就我所参与的一些项目,发现 安全等问题 往往都是最后考虑的!都说业务第一,而在安全方面,仅仅只是做了权限控制,甚至认为:权限=安全!
这次暴库,说的调侃一点,那就是:不仅仅只是偶然,也是发展的必然!

呵呵!

回复 25# king_819


   

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
27 [报告]
发表于 2012-01-04 11:42 |只看该作者
我注意到这次失窃的几个大网站似乎使用的都是微软的语言…

论坛徽章:
0
28 [报告]
发表于 2012-01-04 11:49 |只看该作者
本帖最后由 yanyangtian4502 于 2012-01-04 11:58 编辑

其实这个问题不是微软平台的问题,确实与开发者本身有一定的关系!
就好比给我们一把很厉害的火枪,但是我们的枪法依然不准,这就不能怪枪不好了!
是吧,呵呵呵


不过微软技术也是确实有点不好:入门的门槛很低,很多人只要稍加学习,基本就可以上手了!入门容易,学精有点难!因为封装的太多了!
技术人员无法看到底层!很多问题 只能在表面解决。

回复 27# sohusina


   

论坛徽章:
59
2015七夕节徽章
日期:2015-08-24 11:17:25ChinaUnix专家徽章
日期:2015-07-20 09:19:30每周论坛发贴之星
日期:2015-07-20 09:19:42ChinaUnix元老
日期:2015-07-20 11:04:38荣誉版主
日期:2015-07-20 11:05:19巳蛇
日期:2015-07-20 11:05:26CU十二周年纪念徽章
日期:2015-07-20 11:05:27IT运维版块每日发帖之星
日期:2015-07-20 11:05:34操作系统版块每日发帖之星
日期:2015-07-20 11:05:36程序设计版块每日发帖之星
日期:2015-07-20 11:05:40数据库技术版块每日发帖之星
日期:2015-07-20 11:05:432015年辞旧岁徽章
日期:2015-07-20 11:05:44
29 [报告]
发表于 2012-01-04 12:36 |只看该作者
卖书来了。哈哈。

论坛徽章:
0
30 [报告]
发表于 2012-01-04 14:47 |只看该作者
大家发言不多啊,都喜欢看我说?!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP