RSA加密过的表单密码用python怎么模拟?

Feng_Yu 发布于 2014/06/17 22:16
阅读 992
收藏 1

比如这个页面: http://ec.iot.10086.cn

可以看到页面中的JS有这样一段

var modulus = "00a119263befc1e7fa0d58bbff5d0b9a7bdeb6d37032b02130b1ef5896760cd6bfebf555e77cf7546d76bc07c02343863b37690b304a5f662784964d9ab9bd434eb0fe3e75845635b924d5a3aa675b0c0024cd86146612d7a4618e5b79b5a7aa9be9cfe5545b73fce5faa287efcca3e01ab3411b29886f057cd1babb5f522cc781";
var exponent = "010001";
setMaxDigits(131);
var key = new RSAKeyPair(exponent, '', modulus);
password = encryptedString(key, password);
$('#password').val(password);
$('#loginButtonID').attr("disabled", true);
return true;



很显然这个密码是用RSA算法加密之后再提交表单的。

而且貌似用的是这个开源的JS库:http://www.ohdave.com/rsa/

想用python模拟这个登录过程,但是不会模拟这个JS,如何使用python实现这段JS实现的算法呢?也就是讲明文密码进行加密后提交。

加载中
0
西门飞
西门飞

pyv8 试试,pyv8对js的解析兼容可能不好,要是不行你可以换个思路去模拟登录。先用python调用浏览器,浏览器可以很好的解析js 登录之后拿到cookie 然后在回到urllib2 等库 继续进行你要的操作,至于python调用浏览器登录 方案比较多 selenium 、phantomjs......phantomjs 是一个基于webkit的浏览器接口,python可以很方便的调用

Feng_Yu
Feng_Yu
不是很懂JS,看这个JS应该是在用RSA算法去加密,我在想如果能用python同样按照这个算法加密密码之后再post应该就可以搞定,就是不知道怎么去模拟。
0
p
pysharp
刚才回复没有成功。现在遇到和楼主当年一样的问题,请问方面楼主如何解决的这个问题?还请指教,多谢
Feng_Yu
Feng_Yu
没解决,用python代码实在难以写这个类库,这个js代码目前我还读不懂。我放弃当时这个方案了。你非要硬着头皮搞下去的话,可以考虑phantomjs的方案,让浏览器帮你执行这个js
返回顶部
顶部