【Python模拟登陆】RSA加密与重放方式登陆 -以模拟登陆博客园为例

Python模拟登陆第一弹见:【Python数据分析】Python模拟登陆(一) requests.Session应用
上次的登陆是最基本的,所有是明文,并且在浏览器中就能够看到POST的数据。接下来咱们来个稍微难一点的–模拟登陆博客园(http://www.cnblogs.com)javascript

登陆特色:用户名密码都进行了RSA加密,且在浏览器中没法看到POST数据

 

图1图1
如上图,在post数据中不能显式看到POST内容。
html

模拟登陆步骤

既然浏览器调试功能没法探测到POST数据,那么采用Fiddler试试看,这是一款网络抓包工具,很好用。登陆后看到
图2图2
POST的数据是input1,input2和remember,这和分析signin页面的源代码所得结果一致。
图3图3
其中input1是加过密的用户名,input2是加过密的密码,remember表示记住仍是不记住用户名。因为RSA的原理,加过密后的内容能够不同,可是解密后的数据是同样的,那么咱们就能够采用重放方式登陆,即复制这些内容到咱们的POST data中。
还要注意一个cookies的问题,cookies必定要选择正确,不要选下面的:
图4图4
由于这是登陆页面的cookies,咱们要用下面的cookies:
图5图5,
java

即包含.CNBlogCookies的cookie,这也是主页的cookies。
为了验证登陆是否成功,咱们登陆后打开followers页面,由于未登陆前是没法看到任何用户的粉丝页面的。
仍是利用requests.Session,写出以下代码:
python

import requests
import re
import json
from bs4 import BeautifulSoup

s = requests.Session()

headers = {
    'Accept': 'application/json, text/javascript, */*; q=0.01',
    'Referer': 'http://passport.cnblogs.com/user/signin',
    'User-Agent': 'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36',
    'Cookie': '__gads=ID=fc58354935efbd89:T=1458638388:S=ALNI_MYEtsucyem4nWeL9mdxvQmfAZlTgQ; _ga=GA1.2.111229817.1458781632; .CNBlogsCookie=39EB7C846FF5A6CA5D762D210B954E55CE77A24D11C5203F6055DCAC93DFFF8EA7E405568F2D8CC9F00AFE43A859E71DE55AE6E79A030F7E74C231CECF7DA2DD88B734EA2ECA22DFED8C2ECAB85717B45434AABFE1202DA8266C7440562114D99D9C6767'
}

login_data = {'input1': '你的用户名加密后内容',
              'input2': '你的密码加密后内容',
              'remember': 'false'
              }

url = 'http://passport.cnblogs.com/user/signin'
req = s.post(url, data = login_data, headers=headers)
print(req.status_code)           #200
print(req.content.decode())      #{"success":false,"message":"您已处于登陆状态"}

f = s.get('http://home.cnblogs.com/u/whatbeg/followers/1', headers=headers)
print(f.status_code)
print(f.text)

而后运行有: json

图6图6
图7图7
显示成功登陆。
这样,就能够登陆这种用RSA加密的用户名密码的非https且不须要验证码的网站了。但愿对须要的人有所帮助。
浏览器

本文工做仅供交流学习用,请勿利用作出任何不遵照网络公德的行为。
原文地址:http://whatbeg.com/2016/04/14/logincnblogs.htmlcookie

相关文章
相关标签/搜索