“当黑盖被炸掉一会儿时,玛格丽塔转过身,发现不仅有五颜六色的塔楼高高耸立着飞机,而且很久以前,这座城市本身已经掉入地下,只留下了雾气。”
硕士 布尔加科夫
“大师和玛格丽塔”哈Ha! 几乎每个俄罗斯组织都可能在欢快的多色着色中使用这些产品。 我们正在谈论JaCarta的产品和软件。 这种幸福也落在我身上,我决定稍微扩大一些黑色的封面,以隐藏其本质或API。 一些银行,特别是向其客户发行JaCarta GOST-2令牌,要求安装Aladdin R.D.的JC-WebClient应用程序才能正常工作。
尽管开发人员的官方网站上没有新的发行版(您可以在“演示”部分中下载较旧的版本,但它使用的是过时的API),但是可以在RB网站上的Google的“ JC-WebClient-4.0.0.1186”行中找到该发行版。
在用户计算机上安装应用程序后,将打开该客户端在其上运行的端口24738。
https://localhost:24738/JCWebClient.js
开发者的网站公开且详细地描述了此应用程序的API(以及通过jcFS.dll(是“ JaCarta Single Client”安装程序包的一部分)与该制造商的整个令牌行的文件系统一起工作的功能),最重要的是,使用许多功能,您可以使用任何东西对令牌的数字签名进行签名,获取PIN码或尝试输入令牌失败而阻止令牌。 并且所有这些都是通过Internet远程进行的。
用户经常为令牌或与令牌一起使用的令牌保留默认的PIN码已经不是什么秘密了(他们通常担心,在更改PIN码时,一切都会停止工作)。
大多数情况下,使用的是123456类型的PIN码,令牌在工作日甚至全天候卡在计算机端口或USB集线器中。
多亏了JC-WebClient,如果您将网页或带有简单JavaScript的电子邮件发送给此类用户,就可以尽管没有获得令牌密钥(在某些情况下,这只能通过直接访问令牌文件系统来实现,但
已经给出了示例 ),但是可以尝试拿起PIN码并签名任何数据,然后将其发送到某处。
如果尝试进行10次失败的尝试,则令牌会被阻塞,并且令牌会发生多久,如果未设置用于解锁的管理员代码,则仅初始化会有所帮助。 而且,从供应商处没收的按时缴纳的税款(以及由于利息甚至阻止税收组织的税收帐户)通常是不足够的。

枚举PIN码的问题可以通过仅通过JC-WebClient界面窗口进行输入来解决,也可以作为一种对策,例如,如果3次尝试输入失败,则通过向用户显示一条消息来阻止进一步的授权,直到他将确认您的动作。
我写了一个小的测试脚本来显示此漏洞。 该脚本适用于所有现代和相对现代的浏览器,甚至IE :)
自然,它不会在任何地方发送任何内容,而只是显示一系列功能的结果。
该脚本实现了10次尝试的完整枚举,以尝试输入Pin码“杀死”令牌,因此您只能使用测试令牌来运行脚本!
还应记住,使用此脚本而不是单独使用其测试令牌是违反法律的。
测试结果:

该脚本使用JC-WebClient进行测试以生成密钥对和证书。
您可以使用EToken PRO Java 72 K,JaCarta GOST,JaCarta GOST-2。 令牌必须使用用户PIN 111111预先初始化。
在开始测试之前,必须安装JC-WebClient版本4或更高版本。
实际上是安全审核脚本本身:
→
JC-WebClient API信息源