远程管理技术之XBAP
本篇还是以HP ILO为例,本篇承接上篇 《远程管理之java applet》。HP ilo除了支持使用java进行远程管理外,还支持.net进行远程管理。基于windows .net的远程管理技术有两种:Silverlight、XBAP。前者现在已被微软自己给废弃了,后都流行度也不高,而且主要只支持IE浏览器(据说火狐安装插件才能支持)。不过这两者的技术流行度都不如java applet或jnlp流行。不过从使用体验上来说,XBAP确实有其优势,因为其可以提取exe文件,完全脱离浏览器本身进行执行。
一、.net XBAP的岔路
在查看js/iLO.js文件内容,可以发现如下代码:
其中startirc方法,就是调用.net进行远程管理的代码。可以看出其实际调用了/html/IRC.application程序,将该内容下载后,发现其内容类似如下:
1<exe.manifest" size="17082">
2 <assemblyidentity language="neutral" name="IRC.exe" processorarchitecture="msil" publickeytoken="ccbf8ed862428044" type="win32" version="1.2.3.1405"></assemblyidentity>
3 <hash>
4 <transforms>
5 <transform algorithm="urn:schemas-microsoft-com:HashTransforms.Identity"></transform>
6 </transforms>
7 <digestmethod algorithm="http://www.w3.org/2000/09/xmldsig#sha1"></digestmethod>
8 <digestvalue>eUpl5IM8ly9wJ4j7PWA2U5Y/ZSk=</digestvalue>
9 </hash>
10
11
12<publisheridentity issuerkeyhash="cf99a9ea7b26f44bc98e8fd7f00526efe3d2a79d" name="CN=Hewlett-Packard Company, OU=Digital ID Class 3 - Microsoft Software Validation v2, O=Hewlett-Packard Company, L=Andover, S=Massachusetts, C=US" xmlns="urn:schemas-microsoft-com:asm.v2"></publisheridentity><signature id="StrongNameSignature" xmlns="http://www.w3.org/2000/09/xmldsig#">
13 <signedinfo>
14 <canonicalizationmethod algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"></canonicalizationmethod>
15 <signaturemethod algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"></signaturemethod>
16 <reference uri="">
17 <transforms>
18 <transform algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"></transform>
19 <transform algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"></transform>
20 </transforms>
21 <digestmethod algorithm="http://www.w3.org/2000/09/xmldsig#sha1"></digestmethod>
22 <digestvalue>puK4UgCWhK8X54AhcxsFbiO/2bA=</digestvalue>
23 </reference>
24 </signedinfo>
25 <signaturevalue>Qe9pDbBcEt2ln/IFuAFGR6QQvEPhg/juc2dy3wJdwwiwZR4SnE7R4RQ7SK5n86ndABiGP1HPgStseappAaR2Rsww2Dp0HQruvwA1QNac4ifTlNQgZ7kxVPL3riyi2p7ubSLFcZuKrD/cRpPMQ9a1spLxARi0HkbHon+qcTyUYCYLbv80K4x7YRMMe5PbKLLXCjowmGpH4n4v8OH9QrTXAtp3sszdRqyWfjrGZl3CEkMebwo56tIR8Z4O37JMzMgYmyaBA3pmPVksZCXlPqasG78fOqOZWeSQm9A0e33eHd+X2gUXfrNkfBf2Wg26aFPbR2d93lP/nN1MMN6QJGej9g==</signaturevalue>
26 <keyinfo id="StrongNameKeyInfo">
27 <keyvalue>
28 <rsakeyvalue>
29 <modulus>sVoOw9as6Hzu1zHv9ww9WWKUGSch3BbpGGJ1mbFZkwNbdDGUsZxk3stjQa4IvVAgh+DzFXQnAB4E9JA4v99iJG02eEhbEIRH7OsMsutlHp+53Rs65F85L0P2uZHb0aHWzXdmrPu0SqGnUdYIPKfqkvFqrtlGWFPs3aDjRJGeeOG3f2LoafALvrSC50JyjiyfV9iRVuHobXray+jSRSpTXVN3zxUIOlAzyOMetfKUbN44KL4vhJ6GNuln0L1jx9lKaP3o1mNHT8+XQ4PbWj2ql8FHxUfeygVUs0k1k2nQQObUx73UrT8zy/XH4tkCQbGMPg4Z0J8qDhJtwFJy5lEppQ==</modulus>
30 <exponent>AQAB</exponent>
31 </rsakeyvalue>
32 </keyvalue></keyinfo></signature>
我这里只列了部分(基本上全文都是RSA密文),因为最初网上找IRC技术,发现都是网络chat协议相关的,跟本对不上,而查看该代码,发现是RSA加解密,密文从表象上看使用base64加密,不过使用base64 decodestring时,发现并不能正常解成可以理解的内容,甚至可以认为是乱码。
通过查找该文件内的相关关键字,也找不到相应的内容,从网上查找.net相关的类似jnlp和applet的相关技术时,发现只有Silverlight、XBAP,而前者基本已经废弃。XBAP对应技术的页面为 http://www.xbap.org/ 。其上面有对应的示例:http://www.xbap.org/samples.html
能过查看示例及了解原理,基本判断其使用的就是xbap技术。
二、验证
xbap说白了,也是通过页面技术,最终调用的是exe文件,查看上面的IRC.application,发现有如下一行:
1<assemblyidentity language="neutral" name="IRC.exe" publickeytoken="ccbf8ed862428044" version="1.2.3.1405">
正常使用.net页面调用以后,理论上会在主机上保存有对应的exe文件,通过搜索找到了对应的文件和目录。选择irc.exe文件执行,会发现这个比较清爽,感觉也比较java的占用资源较少。(注意不能单独拉出irc.exe用,需要这几个文件放在一起才能使用。)
其还支持使用命令行的方式进行调用:
了解原理后,后续使用管理口进行远程管理就不需要再打开页面进行操作了,只需要打开该程序输入IP、用户名密码就可以搞定了。不过刀片机无法该些调用,后面再说刀片调用的方法。火狐浏览器和chrome浏览器也想支持xbap调用的话,需要使用NPWPF.dll文件,该文件可以从安装好.net的主机上提取的。不过上面的exe程序本身就需要.net支持的,只需要找到该文件,放到相应的位置就可以了。
捐赠本站(Donate)
如您感觉文章有用,可扫码捐赠本站!(If the article useful, you can scan the QR code to donate))
- Author: shisekong
- Link: https://blog.361way.com/hp-xbap-irc/6098.html
- License: This work is under a 知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议. Kindly fulfill the requirements of the aforementioned License when adapting or creating a derivative of this work.