黑板客 -- 爬虫闯关 -- 关卡03
爬虫 -- 03 闯关
2023-09-11 14:14:05 时间
爬虫闯关链接:
1. http://www.heibanke.com/accounts/login/?next=/lesson/crawler_ex02/
2. http://www.heibanke.com/accounts/login
知识点:cookie & session , csrf , Web编程
提示:此题有两个登录网址,登录结果完全不一样,第一次跳转进来时显示的是网址1,注册后跳转的是网址2,而只有最开始网址1用上一次注册的帐号密码登录才可以进入正确题目页面,与账单报表那个网页完全没有关系!!!每一次登录会动态赋予不同的CSRF凭证,存在cookie中,需要人为编程动态提取。
参考代码:
#!/usr/bin/env python
# encoding: utf-8
import requests
import sys
import re
reload(sys)
sys.setdefaultencoding("utf-8")
csrf = ""
username = "Peter"
password = "112233"
pw = "0"
payload_login = {
"username":username,
"password":password,
"csrfmiddlewaretoken":csrf
}
payload_attack = {
"username":username,
"password":pw,
"csrfmiddlewaretoken":csrf
}
website_signUp = "http://www.heibanke.com/accounts/login"
website_login = "http://www.heibanke.com/accounts/login/?next=/lesson/crawler_ex02/"
s = requests.Session()
s.get(website_signUp)
csrf = s.cookies["csrftoken"]
payload_login["csrfmiddlewaretoken"] = csrf
s.post(website_login,data=payload_login)
csrf = s.cookies["csrftoken"]
s.post(website_login)
payload_attack["csrfmiddlewaretoken"] = s.cookies["csrftoken"]
for i in range(31):
payload_attack["password"] = str(i)
resp = s.post("http://www.heibanke.com/lesson/crawler_ex02/",data=payload_attack)
if resp.content.find(u"错误".decode("utf8")) == -1:
print "[+]FOUND : " + payload_attack["password"]
print "\n\nText: \n\n" + resp.content
break
else:
print payload_attack["password"]
continue
相关文章
- 【Python成长之路】Python爬虫 --requests库爬取网站乱码(xe4xb8xb0xe5xa)的解决方法
- 【Python3网络爬虫开发实战】 3.2-使用requests
- appium在爬虫中的应用--转
- 爬虫部署-3,爬虫管理平台,Crawlab、Gerapy、Scrapydweb,SpiderKeeper,scrapyd,基于上述平台,构思自己的爬虫管理平台
- golang 爬虫
- 小白学 Python 爬虫(6):前置准备(五)爬虫框架的安装
- Python爬虫开发:requests库的使用--https协议的问题解决
- Python爬虫开发:requests库的使用--发送带参数post请求
- Python爬虫开发:requests库的使用--发送带参数get请求
- Atitit 爬虫 node版 attilax
- 这种反爬虫手段有点意思,看我破了它!
- 爬虫小记--抓取过程简要分析
- 使用 CasperJS 构建 Web 爬虫
- python-爬虫,实现输入关键字,然后爬取关键字主页代码并存储到mysql数据库
- Python爬虫:Selenium鼠标点击二级菜单
- 谈谈爬虫背后的法律风险
- 爬虫日记(89):Scrapy的DownloadHandlers类
- php爬虫 phpspider
- 从零开始,学会Python爬虫不再难!!! -- (2)承接:解析网页,抓取标签 丨蓄力计划
- 从零开始,学会Python爬虫不再难!!! -- (3)揭秘:我是如何绕过登录验证的 丨蓄力计划