Stack Overflow 明文密码? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
poorcai
V2EX    分享发现

Stack Overflow 明文密码?

  •  
  •   poorcai 2018-06-29 13:46:47 +08:00 8047 次点击
    这是一个创建于 2691 天前的主题,其中的信息可能已经有所发展或是发生改变。
    登陆的时候没事,F12 看了下,竟然发现了表单输入的邮箱和密码?不加密的吗?

    是我的姿势不对,还是真的发现了问题?

    stack.png

    60 条回复    2018-07-01 14:05:16 +08:00
    runnerlee
        1
    runnerlee  
       2018-06-29 13:50:26 +08:00
    有 https 啦
    poorcai
        2
    poorcai  
    OP
       2018-06-29 13:51:32 +08:00
    @runnerlee #1 HTTPS 也不应该明文密码提交吧?是我没搞懂么?
    4263Ad06Awk3b1Do
        3
    4263Ad06Awk3b1Do  
       2018-06-29 13:51:41 +08:00 via Android
    没问题,前端加密没有意义啊
    chinvo
        4
    chinvo  
       2018-06-29 13:53:14 +08:00 via iPhone   1
    没问题

    传输安全性由 HTTPS 保证

    JS 加密没意义

    至于其他可能,你看国内一票一点都不安全的“安全控件”
    chinvo
        5
    chinvo  
       2018-06-29 13:53:35 +08:00 via iPhone
    jecshcier
        6
    jecshcier  
       2018-06-29 13:54:09 +08:00 via iPhone   3
    @poorcai 你的密码只有你能看到。https 协议的非对称加密,没事的。前端加密没太大意义,如果是 http,再怎么加密,重放一波就行了。。
    poorcai
        7
    poorcai  
    OP
       2018-06-29 13:54:26 +08:00
    @jarnanchen #3
    @chinvo #4
    好吧,是我大惊小怪了
    runnerlee
        8
    runnerlee  
       2018-06-29 14:04:22 +08:00
    不过能不能这样, 假如密码的哈希用这样来创建: md5(md5(password) + salt)

    然后让前端处理 h1 = md5(password), 后端处理 md5(h1 + salt)

    这样就算被抓包也没关系了?
    yanaraika
        9
    yanaraika  
       2018-06-29 14:07:11 +08:00   1
    @runnerlee 不能处理重放。你魔改出一个可以处理重放的版本就是 tls
    footoredo
        10
    footoredo  
       2018-06-29 14:07:19 +08:00 via iPhone
    @runnerlee https 抓包也看不到内容,而且 md5 已经过时了
    closedevice
        11
    closedevice  
       2018-06-29 14:08:28 +08:00
    问题不大~
    runnerlee
        12
    runnerlee  
       2018-06-29 14:13:19 +08:00
    @yanaraika 也是, 学习了! 还从来没想过重放的问题.
    wxsm
        13
    wxsm  
       2018-06-29 14:24:47 +08:00   2
    年轻人不要总想搞大新闻,先提高姿势水平
    poorcai
        14
    poorcai  
    OP
       2018-06-29 14:27:12 +08:00
    @wxsm #13 哼
    poorcai
        15
    poorcai  
    OP
       2018-06-29 14:27:42 +08:00
    @runnerlee #8
    @yanaraika #9
    @footoredo #10
    @closedevice #11
    @wxsm #13
    感谢各位大佬
    Kilerd
        16
    Kilerd  
       2018-06-29 14:43:39 +08:00   1
    请重修密码学

    @runnerlee 你这个做法只是让别人「看不到」你的原始密码。但是对于服务器来说,你的「 Password 」只是变成了「 MD5(Password)」 ,该入侵的还是入侵,预期在这个地方折腾,还不如老老实实做好服务器方向的保护
    whoami9894
        17
    whoami9894  
       2018-06-29 16:07:44 +08:00 via Android
    我们教务系统是 http,然后用了 rsa 加密登录密码
    throns
        18
    throns  
       2018-06-29 16:13:12 +08:00 via Android
    @whoami9894 我们学校也是,一登录表单就变成加密过后的,chrome 保存以后自动填充是加密过后的,每次都要重新输过,贼傻逼
    whoami9894
        19
    whoami9894  
       2018-06-29 16:13:30 +08:00 via Android
    @whoami9894
    不过有时间戳参数
    throns
        20
    throns  
       2018-06-29 16:13:44 +08:00 via Android
    @whoami9894 不过我们上 https 了
    whoami9894
        21
    whoami9894  
       2018-06-29 16:15:12 +08:00 via Android
    @throns
    还有这种操作,浏览器保存的不应该是前端表单的输入吗
    Alphabetcn
        22
    Alphabetcn  
       2018-06-29 16:28:15 +08:00 via Android
    @throns 可以手动 edit,需 flags 里开启
    johnniang
        23
    johnniang  
       2018-06-29 16:30:36 +08:00 via Android   1
    这个很正常啊。你和服务器之间的传输是安全的。服务器会加密好你的密码的。
    shyrock
        24
    shyrock  
       2018-06-29 16:37:06 +08:00   1
    服务器端保护、链路保护上面各位大佬都说过了。
    但是,客户端直接能显示密码明文真的没问题吗?
    如果你暂时离开座位,其他同事过来按 F12 怎么办?为什么各种密码输入框都要设计为输入时统一显示成黑点,而且不准从密码框拷贝,这不就是认为客户端的密码明文也不能被随意访问吗。
    jedrek
        25
    jedrek  
       2018-06-29 16:55:30 +08:00
    @shyrock 设备都被控制了,加密和不加密也没什么区别了。
    暂时离开座位正确做法是锁屏,这是使用者的问题,真不是需要加密来解决
    qinxi
        26
    qinxi  
       2018-06-29 17:01:22 +08:00
    @shyrock 真的有问题吗. 都物理接管你电脑了,还谈屁安全

    人才是安全环节最脆弱的一环
    poorcai
        27
    poorcai  
    OP
       2018-06-29 17:02:14 +08:00
    @shyrock #24 我就是想表达你这个意思
    misaka19000
        28
    misaka19000  
       2018-06-29 17:13:23 +08:00 via Android
    @shyrock 设备都被攻破了还谈什么安全,那别人还可以在我不在的时候在我电脑上面种病毒呢,那是不是键盘也该加个密啊?
    runnerlee
        29
    runnerlee  
       2018-06-29 17:34:55 +08:00
    @Kilerd

    抱歉没学过 见笑了, 我本来的想法比较中二, 注册的时候前端 md5, 然后登录的时候不用 md5. 这么一说才想起来能在注册的时候看到那在登录的时候也能看到, 哈哈哈, 见笑了见笑了
    seancheer
        30
    seancheer  
       2018-06-29 18:54:16 +08:00   1
    @shyrock chrome,打开设置 -> 高级 -> 密码和表单 -> 管理密码,你可以看到所有你在网页上保存过得密码,而且是明文哦。。这个还不需要知道一丁点儿前端调试的知识。

    不只是 chrome,目前浏览器如 firefox 也是这样的。。其他的因为不怎么用,没试验过。

    这么设计的理由和上面解释的一样:别人都物理接触到你的机器了,在怎样的防护都没有什么用。
    throns
        31
    throns  
       2018-06-29 19:02:59 +08:00 via Android
    @seancheer 要查看,似乎还得输入你 Google 账户的密码,不过,有软件可以直接看,我同学前几天用了,说真牛逼。
    powerfj
        32
    powerfj  
       2018-06-29 19:08:16 +08:00
    从安全角度来说, 用户原始密码最好不要给到服务器, 风险较大.
    shyrock
        33
    shyrock  
       2018-06-29 19:19:50 +08:00
    @jedrek @qinxi @misaka19000 @seancheer 以苹果手机为例,就算别人指纹解锁后把手机拿给你用,你也无从知道密码。从而保证你不能在锁屏后重新解锁,更不可能用这个密码去尝试其他网站。这显然是一个更安全的做法。
    chinvo
        34
    chinvo  
       2018-06-29 19:38:05 +08:00 via iPhone   2
    @shyrock #33 每次要加盐、nonce、签名

    恭喜你重新发明 HTTPS
    lalala121
        35
    lalala121  
       2018-06-29 19:40:55 +08:00/span>   1
    哈哈哈哈,菜鸡
    blankme
        36
    blankme  
       2018-06-29 19:50:36 +08:00 via Android
    @shyrock
    如果你能解锁苹果手机,你就能看到系统保存的一系列网站明文密码。如果你能解锁 Windows,你也能看到 chrome 里的密码。在查看密码前要求你再次输入解锁设备的信息。

    你解锁完手机给别人玩,和你输入电脑密码后给别人玩,两者的逻辑是一样的。
    agagega
        37
    agagega  
       2018-06-29 19:51:54 +08:00 via iPhone
    你前端散列了也没法阻止重放啊。这种情况下密码发过去后端搞起来方便点
    laoyur
        38
    laoyur  
       2018-06-29 20:03:16 +08:00
    这个话题本站论战过数回了
    iwtbauh
        39
    iwtbauh  
       2018-06-29 20:09:20 +08:00 via Android
    @seancheer #30
    浏览器不是直接把密码存在硬盘上的,而是存在系统的“钥匙串”中的(例如 Linux gnome 下这个功能由 gnome-keyring 实现,kde 下由 KDE Wallet 实现)系统钥匙串由用户密码加密,所以即使物理接触,别人没有你的用户密码也没辙的。
    AV1
        40
    AV1  
       2018-06-29 20:12:56 +08:00 via Android
    @shyrock
    不想让人窥视密码,你离开前应该锁屏,这跟你用手机的逻辑是一样的。
    seancheer
        41
    seancheer  
       2018-06-29 21:48:47 +08:00
    @throns 好吧,我落伍了。。16 年还是 17 年以前的版本是可以不输入账户密码直接查看的。。刚刚我试了下,已经改成要输入账户密码了。。。
    cxh116
        42
    cxh116  
       2018-06-29 21:55:50 +08:00 via Android
    不上 https,再 nb 的安全加密也没用,直接注入 js 网页输入。
    wangxiaoaer
        43
    wangxiaoaer  
       2018-06-29 22:01:10 +08:00
    @shyrock #24 按 F12 ? 你输入密码 点击提交,然后离开座位,别人立马打开 F12,正好看到传输的数据,这种情况有多巧你知道吗?
    chocotan
        44
    chocotan  
       2018-06-29 22:04:39 +08:00
    @throns linux 版 chromium 表示直接就能看密码了
    Tianao
        45
    Tianao  
       2018-06-29 22:13:25 +08:00 via iPhone
    @throns 你们学校是不是正方的?
    yangqi
        46
    yangqi  
       2018-06-29 22:16:25 +08:00
    @seancheer 所以从来不用浏览器自带的密码管理,万一种个病毒或者木马所有密码就完了。
    throns
        47
    throns  
       2018-06-29 22:47:08 +08:00 via Android
    @Tianao 是的
    E0
        48
    E0  
       2018-06-30 01:00:26 +08:00 via Android
    github 也是明文
    breeswish
        49
    breeswish  
       2018-06-30 01:08:31 +08:00
    @shyrock 前端哈希了也没用啊。别人也不需要进入那个 Chrome Password 页面。直接在 StackOverflow 页面利用自动填密码把密码填进去,然后不需要递交,直接 F12,$0.value 就可以看到密码了。
    WildCat
        50
    WildCat  
       2018-06-30 01:08:44 +08:00 via iPhne
    @shyrock 一点安全常识都没有,建议去读读《白帽子讲 Web 安全》
    hlwjia
        51
    hlwjia  
    PRO
       2018-06-30 01:23:28 +08:00 via iPhone
    @powerfj 我比较想听听这位大兄弟的看法
    johnnie502
        52
    johnnie502  
       2018-06-30 03:22:31 +08:00
    @shyrock 别人都到你电脑面前了还担心什么密码泄露问题。chrome 打开你的表单,直接把<input type="password" 改成 type="text",黑点立刻便明文,提交都不用啊
    Greatshu
        53
    Greatshu  
       2018-06-30 04:03:37 +08:00
    @shyrock #24 为什么要 F12,直接装个木马更方便
    opengps
        54
    opengps  
       2018-06-30 07:42:32 +08:00 via Android   1
    你这么测试的话,几乎 90%都是明文密码,另外 9%是前台加密,还有 1%是 u 顿之类的
    https 只保证传输过程,不负责前台后台安全
    Mutoo
        55
    Mutoo  
       2018-06-30 07:57:31 +08:00
    还记得 twitter 服务器把密码明文打到日志系统里面么。
    seiuneko
        56
    seiuneko  
       2018-06-30 10:17:53 +08:00
    @seancheer #30 Firefox 可以使用「主密码」
    flyingfz
        57
    flyingfz  
       2018-06-30 15:55:34 +08:00
    这个密码 是你能看到, 别人看不到。
    别人看到的是 https(加密过)的流量,而你用控制台,相当于 https 已经解密了
    Vhc001
        58
    Vhc001  
       2018-06-30 23:26:11 +08:00
    @Mutoo #55 不是明文。不要造谣。
    msg7086
        59
    msg7086  
       2018-07-01 05:02:10 +08:00   1
    @Vhc001 神推特自己造自己的谣。

    Twitter Support 认证账号
    We recently found a bug that stored passwords unmasked in an internal log. We fixed the bug and have no indication of a breach or misuse by anyone. As a precaution, consider changing your password on all services where you ’ ve used this password.
    下午 1:04 - 2018 年 5 月 3 日
    iyangyuan
        60
    iyangyuan  
       2018-07-01 14:05:16 +08:00 via iPhone
    前端的加密只是掩耳盗铃,https 保证的是传输安全,所以没问题
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5353 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 34ms UTC 07:46 PVG 15:46 LAX 23:46 JFK 02:46
    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