[来试试] 如果给你源码和数据,你是否能破解出密码? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
cnwtex
V2EX    程序员

[来试试] 如果给你源码和数据,你是否能破解出密码?

  •  
  •   cnwtex 2017-02-12 17:48:38 +08:00 4841 次点击
    这是一个创建于 3163 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如果给你源码,和网站数据库,你是否能破解出来密码?

    都是数字弱密码。

    http://www.etherdream.com/webscrypt/example/login/

    破解之后有红包拿,来试试吧

    源码在这里: https://github.com/EtherDream/WebScrypt/tree/master/example/login

    22 条回复    2017-02-19 14:12:17 +08:00
    cnwtex
        1
    cnwtex  
    OP
       2017-02-12 17:50:13 +08:00
    作者是前端安全专家 @EtherDream
    http://weibo.com/etherdream
    helloccav
        2
    helloccav  
       2017-02-12 18:16:55 +08:00
    人肉穷举出了最简单的那个,然而很久没用支付宝,不知道口令红包怎么用,留给下位朋友吧,谢谢楼主了.
    ipconfiger
        3
    ipconfiger  
       2017-02-12 18:19:30 +08:00
    给你 sha256 的源码, 除了穷举, 还有别的办法?
    如果数字弱密码, 不要源码也能穷举, 拿源码出来干嘛?
    毫无意义
    em70
        4
    em70  
       2017-02-12 18:22:00 +08:00
    都知道算法了,用字典计算后去撞库就行了,体力活,谁有空谁弄去
    ic3z
        5
    ic3z  
       2017-02-12 18:47:13 +08:00 via Android
    向大佬学习
    cnwtex
        6
    cnwtex  
    OP
       2017-02-12 19:24:21 +08:00 via iPhone
    @ipconfiger 这个的意义在于前端防穷举。
    @em70 前端提高运算量,防穷举,工程意义大过学术意义,没看懂就瞎瑟
    loading
        7
    loading  
       2017-02-12 20:12:23 +08:00 via Android
    前端运算,目测是先对密码算一下 hash 这样然后再发送到后端?

    前端都暴露出来了,毫无意义。
    blackanger
        8
    blackanger  
       2017-02-12 20:56:35 +08:00
    重点在于前端那个 dkHex
    blackanger
        9
    blackanger  
       2017-02-12 21:14:17 +08:00
    大思路虽然是穷举,但是重点是前端的加密,就像 @cnwtex 说的,前端提高运算量,防穷举,这个需要仔细研究下源码里的算法了:

    var dkHex: String = bytesToHex(CModule.ram, mDkPtr, mDkLen);

    bytesToHex 函数及其三个参数的意义,模拟一个算法,得到 dkHex ,后面的就简单了,加盐比对 sha256 加密密码,穷举。
    blackanger
        10
    blackanger  
       2017-02-12 21:15:56 +08:00
    前端生成一个 dk 的时间,大概是 1 秒:

    time: 1089
    main.js:21 dk: e3ed2afeb0be3bc5f4ddee429a367f99417ac99a40039de1e5bf39ab498627c4
    shiny
        11
    shiny  
       2017-02-12 21:42:40 +08:00
    写了一个简单的 node 穷举程序,还是非常费运算量的。如果 CPU 核心多点并发跑,跑这个题目还是容易的;但如果密码再复杂点就费劲了。
    l1093178
        12
    l1093178  
       2017-02-12 22:49:05 +08:00
    有点意思,不过最大的意义其实就是把服务器端跑 Scrypt 的消耗丢给了客户端。
    cnwtex
        13
    cnwtex  
    OP
       2017-02-12 23:20:05 +08:00
    @shiny 这个很适合用在网站上,但是貌似手机支持不太友好,可以测试。
    @blackanger 以消耗合适的 cpu 运算来认证前端工作,还能起到验证码的作用。
    @l1093178 正解,如果网站用上,除了防穷举,还能防机器登录(消耗运算增加机器人工作)。

    @loading 意义需要自己理解。
    ihuotui
        14
    ihuotui  
       2017-02-13 00:43:31 +08:00 via iPhone
    我需要你的密码明文吗?我只需要你传送什么给后台就可以了。
    zzNucker
        15
    zzNucker  
       2017-02-13 00:46:00 +08:00
    发现钓出来好几个脑子都不动就在吹逼的,哈哈哈哈
    ryd994
        16
    ryd994  
       2017-02-13 02:24:51 +08:00 via Android
    这个想法其实不错的。利用 proff of work 来验证客户端的“诚意”
    只是老有半桶水程序员想拿这个代替 HTTPS
    这是用来做验证码的,不是用来做加密的
    arron
        17
    arron  
       2017-02-13 11:08:39 +08:00
    程序已经上了 asm ,算法速度也不好优化了, 6 位数单核跑得几天时间。
    shiny
        18
    shiny  
       2017-02-13 18:30:10 +08:00   1
    一个简单的 node 穷举程序: https://github.com/shiny/WebScrypt-Crack-Example
    4 位没多久就跑出来了。跑 6 位就太不环保了。
    cnwtex
        19
    cnwtex  
    OP
       2017-02-13 20:10:34 +08:00
    @shiny 赞~然而没什么用哈哈哈哈
    zjcqoo
        20
    zjcqoo  
       2017-02-14 11:08:15 +08:00   2
    这个代码是我写的,哈哈:) 看到 @shiny 破解代码里的链接发现这个帖。。。

    其实拖库后暴力破密码原理都是一样的。不过这个项目的意义就是把 PBKDF 的计算放到浏览器里,节省服务器成本而已。

    另外对于在线撞库,每猜一次密码浏览器都得计算 PBKDF ,很耗资源,所以可以通过 CPU 资源限制攻击频率。
    cnwtex
        21
    cnwtex  
    OP
       2017-02-14 15:51:05 +08:00
    @zjcqoo 惊现原作者~~
    mingyun
        22
    mingyun  
       2017-02-19 14:12:17 +08:00
    会玩
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2644 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 03:57 PVG 11:57 LAX 20:57 JFK 23:57
    Do have faith in what you're doing.
    ubao 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