Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Allen2021/Python-Crypto

Open more actions menu
 
 

Repository files navigation

Python-Crypto

记录平时做js加密解密算法

新浪微博登陆

测试的是手机号可以正常登陆,还没遇到验证码问题,后面遇上再加
post请求之后会被重定向两次才能得到登陆用户信息,发送post请求后还需要正则匹配两次重定向url
注意请求返回的编码格式post请求后返回编码是GBK,后面还会返回GB2312

加密方式:RSA(非对称加密方式)

登录前先get请求返回携带有token、pubkey、raskv、servertime等信息的dict字符串,包含在js中需要提取转换
需要破解的参数是su和sp,sp是密码<br>
su:是通过封装了RSA源码的一个对象sinaSSOEncoder的base64编码用户名得到的<br>
sp:加密的密码,通过创建sinaSSOEncoder加密对象,公钥是上面返回的pubkey,偏移量"10001"
加密内容是servertime + "\t" + nonce + "\n" + pw
servertime:上面get请求返回的
nonce:上面get请求返回的
pw:输入的密码

腾讯企鹅媒体

测试的是邮箱登陆,无验证码问题,因为账号问题可能在登陆后被重定向到身份验证页面 注意在post请求时需要带上cookie,并且cookie中有个参数是登录前Ajax get请求的含有token信息的返回cookie

加密方式:MD5双重加密(信息摘要算法或签名算法)

登录前后台会get请求一次,返回含有token和salf等加密参数信息以及一个cookie,该cookie要加在post的请求中
加密形式:MD5(token + MD5(salt + pwd))双重加密

网易云获取评论请求参数加密

测试是无登陆状态下的请求加密,无登陆状态下csrf_token参数为空,在同一ip过度请求下降不会返回数据;在登陆状态下请求的url和未登录状态下的url是不一样的

加密方式AES+RSA

  评论请求加密参数是两个:params、encSecKey,传入加密函数的参数是a,b,c,d+内部随机生成的16位参数i
  其中a='"{"rid":"R_SO_4_371362","offset":"160","total":"false","limit":"20","csrf_token":"de097d5986487c4aefe9f52c65e43224"}"}'形式参数
  rid:歌曲id;
  offset:歌词页数计算公式(n-1)*20;
  total:在第一页是TRUE在其他是false;
  csrf_token:在登陆成功后再返回的cookie中可以找到,未登录时是空。
  b、c、d是固定的参数,由js内部定义的文字编码转码并并且得到的类似于
  {"色":"00e0b","流感":"509f6","这边":"259df","弱":"8642d","嘴    唇":"bc356","亲":"62901","开心":"477df"}-->色+嘴唇="00e0bbc356"
  bcd当做固定参数传入
  其中内部随便变量i可以写死,那么encSecKey参数都是由固定参数生成的,可以当做固定参数使用
  params根据页数和歌曲参数的不同是变化的
  params:是内部方法AES CBC模式
  encSecKey:RSA加密

微信公众号密码加密

只分析了微信公众号登陆请求的post密码加密

加密方式MD5

  加密方式比较简单,取密码的前16位进行MD5加密

About

记录平时做js加密解密算法

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%
Morty Proxy This is a proxified and sanitized view of the page, visit original site.