首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

请教怎么破解网上银行的安全控件

2012-05-16 
请问如何破解网上银行的安全控件!呃,其实我是标题党!严重声明俺不是要干犯法的事!某银行有个项目想外包给

请问如何破解网上银行的安全控件!
呃,其实我是标题党!严重声明俺不是要干犯法的事!

某银行有个项目想外包给我们做,业务流程简单的说就是银行把客户提交的申请资料给我们,我们来进行电话或上门核实资料是否有效,最终把结果反馈给银行。

由于银行对数据安全的要求非常高,我几乎是无计可施。银行不允许上网、不公开数据接口、不允许修改他们的系统、不允许动他们一切东西。

银行想让我们实现2个功能:
  一、导出资料。银行的系统没有批量导出的功能,也就是说一天几千份的资料要手工一个个的点击导出,所以他们想有个什么东西可以帮助他们自动的完成这个导出工作。
  二、反馈结果。银行希望我们能将结果生成固定格式的文档,然后批量自动的导入到他们的系统中。

由于上面提到一系列不允许,除了直接控制网页操作我实在想不出别的办法。

银行的业务系统我还没见到,只知道是java开发的网页,于是,拿着中行的网上银行开始做测试:

VB.NET code
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load        WebBrowser1.Url = New Uri("https://ebs.boc.cn/BocnetClient/PreLogin.do?_locale=zh_CN")    End Sub    Dim b As Boolean = False    Private Sub WebBrowser1_DocumentCompleted(ByVal sender As Object, ByVal e As System.Windows.Forms.WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted        Try            Dim tbUserid As HtmlElement = WebBrowser1.Document.All("LoginName")            Dim tbvalida As HtmlElement = WebBrowser1.Document.All("ValidationChar")            Dim tbPasswd As HtmlElement = WebBrowser1.Document.All("pass")            tbUserid.SetAttribute("value", "帐号")            tbvalida.SetAttribute("value", "验证码") '只是测试,俺也不会识别验证码            tbPasswd.SetAttribute("value", "密码") '提示参数数目与需要的数据不符        Catch ex As Exception            MessageBox.Show(ex.Message)        End Try    End Sub


这个代码可以正确的把账号跟验证码填到网页上,但密码填不上,提示错误“参数数目与需要的数据不符”, 查了一下网页的代码:

HTML code
        <tr>                                            <td>&nbsp;</td>                                            <td height="30" class="input_font">用 户 名:</td>                                            <td valign="bottom"><input type="text" name="LoginName" class="login" maxlength="20" /></td>                                            <td rowspan="2" align="left" valign="top" class="input_font2">用户名和密码对大小写字母敏感,请注意区分</td>                                        </tr>                                        <tr>                                            <td>&nbsp;</td>                                            <td height="30" class="input_font">密  码:</td>                                            <td>                                            <div id="passobject" class="login">                                                <script language="JavaScript">                                                passr = CreateControl("passobject", "document.form1", "pass", "0", "zh_CN");                                                </script>                                            </div>                                            </td>                                        </tr>


密码框是CreateControl("passobject", "document.form1", "pass", "0", "zh_CN")建立的,跟踪了一下pass,发现没有value属性,正常输入密码后,继续跟踪发现pass下有个Expandos属性下有value,值应该是加密后的密码,银行的安全控件确实很牛啊,到这里我就不知道怎么办了,其实我平时主要是做winform,就是在这瞎胡闹下。。。

所以,请教一下大伙,有没有可能破解类似的安全控件实现自动操作的功能啊?  

或者,就上面的需求,有没有什么其他的解决办法啊???

做网页游戏外挂的高手,能不能帮个忙啊。。。


[解决办法]
探讨
还得是个 相当牛X的黑...那老霸道了。。。 你要成功了,俺拜你为师哦。。


[解决办法]
个人建议模拟键盘鼠标吧,至少可行性没问题
[解决办法]
我也觉得可以用模拟鼠标点击和键盘输入的WinodwsAPI可以搞定。 你有密码, 是正常登录, 也没有破解银行系统, 为什么说是犯罪呢?
[解决办法]
接着上面的说,网银登陆控件的破解存在可行性,因为它与其他不可破解的东西有区别。
比如网银的USBKEY不能破解,是因为它的算法和数据(主要是证书私钥)都放到了硬件内部,不可能反汇编;
WinRAR和Word的密码不以破解,是因为若口令不正确,加密算法得到的数据就是错误的数据。
网上论坛,网上银行的登陆密码不能破解,是因为若口令不正确,服务器就拒绝发送任何有价值的数据,而且服务器的算法是不可以反汇编的(因为不能物理接触)。

热点排行