旅游景区网站建设的意义,上海网站科技,南京网站开发荐南京乐识,企业网站建设案例哪个品牌好前言这篇文章因为涉及到JS解密部分#xff0c;所以难度比较高#xff0c;Python基础比较薄弱的同学可以来看看思路。开始进入到该网站后我们可以看到如下界面#xff0c;今天要做的内容就是模拟登陆那么咱们首先抓到登陆的包看看#xff1a;登陆的同时总共发送了两次post请…前言这篇文章因为涉及到JS解密部分所以难度比较高Python基础比较薄弱的同学可以来看看思路。开始进入到该网站后我们可以看到如下界面今天要做的内容就是模拟登陆那么咱们首先抓到登陆的包看看登陆的同时总共发送了两次post请求在登陆前发送了一次其中需要携带的参数为用户名还有一个donotcache不难猜测出是一个时间戳但是光靠猜不行要拿出实际证明。返回值success: truepublickey_mod: XXXpublickey_exp: 010001timestamp: 540205950000token_gid: 1c51cb6b00061f39这些值我们并不知道是用来做什么的然后我们可以继续看下登陆的包很明显第一眼就可以发现很多问题cookie与第一次请求必须保持一致然后第一次请求的返回值timestamp其实就是为了给第二次登陆的包传参rsatimestamptimestamp然后就是这个也有一个类似时间戳的东西donotcache最关键的就是这个password是加密的咱们先解决donotcache是怎么产生的没猜错new Date().getTime()本来就是JS取时间戳的语法这个咱们用Python编程里的time模块模拟就可了。最关键的就是password加密的方式了这就有意思了var password form.elements[password].value;password password.replace(/[^\x00-\x7F]/g, ); // remove non-standard-ASCII charactersvar encryptedPassword RSA.encrypt(password, pubKey);密码经过了两次改动第一次是替换掉字符串第二次是RSA加密而这个加密需要用的pubKey而var pubKey RSA.getPublicKey(results.publickey_mod, results.publickey_exp);所以说我们还需要知道publickey_mod和publickey_exp这个时候你再好好回想一下咱们的第一次请求是不是返回值里正好有一个Mod和EXP