绕过ActiveX破解招行密码输入框

本文探讨了招行ActiveX控件在密码输入中的安全问题,指出其可以通过COM和JavaScript进行模拟登录。尽管招行的加密机制防止了键盘记录器的直接威胁,但作者揭示了一个漏洞,允许在不接触二进制代码的情况下,通过截取和重用加密信息实现登录。文章描述了获取密文和模拟登录的步骤,并强调了潜在的安全风险。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

核心提示,通过本文的提示,可达到如下目的:
1、木马制作者。可以绕过招行(以及同类的ActiveX)的保护,获取用户的帐户和密码(密文);
2、非IE使用者。可以达到使用其他系统其他浏览器登录招行(以及其他,比如腾讯财付通)的目的;

  最近看到讨论招行ActiveX的贴子相当火热,一时手痒,作点研究。
  首先,我要声明,招行的ActiveX并不安全,我已做出测试代码,可截取到用户的输入。不过出于安全考虑,我不会公开。另外,现在已经有木马可以做到,这并不是什么高难度问题。
  现在,我们要讨论的是,不用二进制级的代码hack,只用一些简单的COM和javascript就可以达到目的。

  我们先谈谈招行的登录流程,打开网页代码,可以看到,大概是这样的:
a)在ActiveX控件中输入卡号和密码,这时一般的没作过特殊处理的木马是截取不到键盘输入的;
b)用户提交时,页面脚本生成一个loginInfo(自定义javascript类),然后用一个函数(使用了XMLHTTP)提交这个类的数据。问题就出在这一步,我们知道,不管怎么样,卡号和密码都是要被提交到服务器的,只是被加密了而已。招行用的方法是“loginInfo.AccountNo = LoginForm.DebitCardNo_Ctrl.IValue;”这样的语句,DebitCardNo是控件的名字,IValue是被加密的,而且每次获取都用不同的种子加密了。

  招行在这里有什么漏洞可以被利用?
很简单,招行页面提交的加密信息一是与页面状态无关(即不是页面提供种子),二是是可以重用,也就是如果记下一次的加密信息,以后就可以用这个加密信息来登录。目前我不能从密文得到明文,但我相信一定是可以的,虽然服务端不一定要知道明文的密码,但一定要知道明文的帐号吧,而且有一次我操作测试结果表明,服务端确实是会解析出明文的。啰嗦了一大堆,结论就是:现在很容易得到密文,而且一定可以推出明文,算法待研究。

  怎么获取到密文,怎么模拟登录?我的步骤如下(假设我的程序已运行在后台)
a)发现招行的页面打开之后,修改这个页面的form的onsubmit的脚本——修改过的脚本会在用户提交前将密文保存起来;
b)模拟

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值