网易的密码泄漏了,请问下 django 写的网站,在不泄漏 SECRET_KEY 的情况下,攻击者脱裤后有多大可能破解密码 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
QQ1685425675
V2EX    问与答

网易的密码泄漏了,请问下 django 写的网站,在不泄漏 SECRET_KEY 的情况下,攻击者脱裤后有多大可能破解密码

  •  
  •   QQ1685425675 2015-10-20 09:03:30 +08:00 3964 次点击
    这是一个创建于 3649 天前的主题,其中的信息可能已经有所发展或是发生改变。

    SECRET_KEY 好像是用来加密的

    如果这个东西不泄漏

    数据库被人拖走了

    那么 密码被破解的几率大吗

    攻击者有什么办法 最大可能的尝试破解密码呢

    第 1 条附言    2015-10-20 14:29:06 +08:00
    结贴

    感谢大家的回复

    目前问题已经解决

    我把大家的回复整理一下如下:


    SECRET_KEY

    并不参与密码本身的加密,该参数用来加密 cookie 的,但泄漏该值会带来 [远程代码执行] 参考 http://rickgray.me/2015/09/12/django-command-execution-analysis.html


    django 本身的密码加密,是非常安全的, 用了随机盐 什么的 反正很复杂

    参考 https://docs.djangoproject.com/en/dev/topics/auth/passwords/
    22 条回复    2015-10-20 13:42:54 +08:00
    ryd994
        1
    ryd994  
       2015-10-20 09:43:25 +08:00   1
    SECRET_KEY 不就是一个固定的“盐”么
    用了等于没用
    zander
        2
    zander  
       2015-10-20 09:45:14 +08:00 via iPhone   1
    没什么意义,要以最坏的打算来预估对方的算力。
    watzds
        3
    watzds  
       2015-10-20 09:51:08 +08:00 via Android   1
    @ryd994
    有了这个盐值,相当于密码很复杂,普通的字典还能查到破解吗
    Zzzzzzzzz
        4
    Zzzzzzzzz  
       2015-10-20 09:53:29 +08:00   1
    SECRET_KEY 涉及的是 cookie 的加密, 和 auth 无关, auth 的密码是随机 hash 算法+随机 hash 次数+随机 salt
    ryd994
        5
    ryd994  
       2015-10-20 09:53:50 +08:00   1
    @watzds
    聪明一点的人就自己注册一个用户,从库里找到自己密码,然后穷举 SECRET_KEY 就行了
    且不说网上是有常见密码的带盐字典的,如果我没有记错, django 用的是 sha1 还是 md5 ,这两个都超快,临时暴力做个字典也是可以的
    QQ1685425675
        6
    QQ1685425675  
    OP
       2015-10-20 09:55:55 +08:00
    @Zzzzzzzzz 哦哦谢谢 也就是说, django 的安全性还是很高的 对吗
    messense
        7
    messense  
       2015-10-20 09:56:39 +08:00
    @ryd994 By default, Django uses the PBKDF2 algorithm with a SHA256 hash
    messense
        8
    messense  
       2015-10-20 09:56:54 +08:00   1
    virusdefender
        9
    virusdefender  
       2015-10-20 09:58:35 +08:00   1
    secret key 是加密 cookie 用的,如果这个泄露,可能造成远程代码执行。

    django 的 密码的盐就在加密后的字符串里面,加密强度还是挺强的
    zhchbin
        11
    zhchbin  
       2015-10-20 10:05:05 +08:00   1
    @QQ1685425675 数据库里存的东西安全性是由你决定的,框架并不会帮你干什么事。另外,框架也是可能存在漏洞,导致被黑的。 Google: site:wooyun.org django (看一下国内乌云论坛上的漏洞吧)

    目前正确的存储用户密码哈希的姿势: https://crackstation.net/hashing-security.htm
    glasslion
        12
    glasslion  
       2015-10-20 10:15:43 +08:00   1
    @ryd994 别搞笑了, django 什么时候用过 sha1, md5 做 salt 了?
    watzds
        13
    watzds  
       2015-10-20 10:21:37 +08:00 via Android   1
    @ryd994 似乎随机盐值还挺有效的

    另外,这篇乌云的文章不错, http://drops.wooyun.org/papers/1066
    ryd994
        14
    ryd994  
       2015-10-20 10:42:50 +08:00 via Android   1
    @watzds 所以我说如果 secret_key 做密码加密是药丸的
    然而我至今不明白为啥楼主的 Django 加密密码会用到 secreat_key
    dong3580
        15
    dong3580  
       2015-10-20 10:46:45 +08:00   1
    @QQ1685425675
    随机,那么这些随机的参数你生成了之后,怎么再次校验?
    caoyue
        16
    caoyue  
       2015-10-20 10:56:33 +08:00   1
    @dong3580
    一般是用 algorithm$number of iterations$salt$password hash 的方式存数据库
    zhaoshanhe
        17
    zhaoshanhe  
       2015-10-20 11:22:05 +08:00   1
    首先脱裤一般都是带着盐的 而且有点良心的厂商都是随机盐。 脱下来的数据要破解基本都是彩虹表。
    QQ1685425675
        18
    QQ1685425675  
    OP
       2015-1020 12:08:53 +08:00
    @dong3580 随机的参数 也是存起来的吧, 可以校验,只是很难(基本不可能)逆向
    MrGba2z
        19
    MrGba2z  
       2015-10-20 12:11:30 +08:00 via iPhone   1
    secret key 和数据库无关吧…
    那不是用于 session 和 cookie 里的么
    wibile
        20
    wibile  
       2015-10-20 12:47:35 +08:00   1
    知之为知之不知为不知,不知还强答,在下服了。。。
    dong3580
        21
    dong3580  
       2015-10-20 13:39:29 +08:00   1
    @caoyue
    多谢普及知识,不过还得存储盐...虽然反不出原文,
    wy315700
        22
    wy315700  
       2015-10-20 13:42:54 +08:00   1
    要落到 NSA 手里, AES256 都没用
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5014 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 03:55 PVG 11:55 LAX 20:55 JFK 23:55
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86