如果给你源码,和网站数据库,你是否能破解出来密码?
都是数字弱密码。
http://www.etherdream.com/webscrypt/example/login/
破解之后有红包拿,来试试吧
源码在这里: https://github.com/EtherDream/WebScrypt/tree/master/example/login
1
cnwtex OP |
2
helloccav 2017 年 2 月 12 日
人肉穷举出了最简单的那个,然而很久没用支付宝,不知道口令红包怎么用,留给下位朋友吧,谢谢楼主了.
|
3
ipconfiger 2017 年 2 月 12 日
给你 sha256 的源码, 除了穷举, 还有别的办法?
如果数字弱密码, 不要源码也能穷举, 拿源码出来干嘛? 毫无意义 |
4
em70 2017 年 2 月 12 日
都知道算法了,用字典计算后去撞库就行了,体力活,谁有空谁弄去
|
5
ic3z 2017 年 2 月 12 日 via Android
向大佬学习😊
|
6
cnwtex OP |
7
loading 2017 年 2 月 12 日 via Android
前端运算,目测是先对密码算一下 hash 这样然后再发送到后端?
前端都暴露出来了,毫无意义。 |
8
blackanger 2017 年 2 月 12 日
重点在于前端那个 dkHex
|
9
blackanger 2017 年 2 月 12 日
大思路虽然是穷举,但是重点是前端的加密,就像 @cnwtex 说的,前端提高运算量,防穷举,这个需要仔细研究下源码里的算法了:
var dkHex: String = bytesToHex(CModule.ram, mDkPtr, mDkLen); bytesToHex 函数及其三个参数的意义,模拟一个算法,得到 dkHex ,后面的就简单了,加盐比对 sha256 加密密码,穷举。 |
10
blackanger 2017 年 2 月 12 日
前端生成一个 dk 的时间,大概是 1 秒:
time: 1089 main.js:21 dk: e3ed2afeb0be3bc5f4ddee429a367f99417ac99a40039de1e5bf39ab498627c4 |
11
shiny PRO 写了一个简单的 node 穷举程序,还是非常费运算量的。如果 CPU 核心多点并发跑,跑这个题目还是容易的;但如果密码再复杂点就费劲了。
|
12
l1093178 2017 年 2 月 12 日
有点意思,不过最大的意义其实就是把服务器端跑 Scrypt 的消耗丢给了客户端。
|
13
cnwtex OP @shiny 这个很适合用在网站上,但是貌似手机支持不太友好,可以测试。
@blackanger 以消耗合适的 cpu 运算来认证前端工作,还能起到验证码的作用。 @l1093178 正解,如果网站用上,除了防穷举,还能防机器登录(消耗运算增加机器人工作)。 @loading 意义需要自己理解。 |
14
ihuotui 2017 年 2 月 13 日 via iPhone
我需要你的密码明文吗?我只需要你传送什么给后台就可以了。
|
15
zzNucker 2017 年 2 月 13 日
发现钓出来好几个脑子都不动就在吹逼的,哈哈哈哈
|
16
ryd994 2017 年 2 月 13 日 via Android
这个想法其实不错的。利用 proff of work 来验证客户端的“诚意”
只是老有半桶水程序员想拿这个代替 HTTPS 这是用来做验证码的,不是用来做加密的 |
17
arron 2017 年 2 月 13 日
程序已经上了 asm ,算法速度也不好优化了, 6 位数单核跑得几天时间。
|
18
shiny PRO 一个简单的 node 穷举程序: https://github.com/shiny/WebScrypt-Crack-Example
4 位没多久就跑出来了。跑 6 位就太不环保了。 |
20
zjcqoo 2017 年 2 月 14 日 这个代码是我写的,哈哈:) 看到 @shiny 破解代码里的链接发现这个帖。。。
其实拖库后暴力破密码原理都是一样的。不过这个项目的意义就是把 PBKDF 的计算放到浏览器里,节省服务器成本而已。 另外对于在线撞库,每猜一次密码浏览器都得计算 PBKDF ,很耗资源,所以可以通过 CPU 资源限制攻击频率。 |
22
mingyun 2017 年 2 月 19 日
会玩
|