CTFHUB Web前置技能 题解记录(HTTP部分)
目录
Web前置技能
一、HTTP协议
1、基础认证
2、302跳转
3、Cookie
4、请求方式
5、响应包源代码
个人题解记录,不喜勿喷
Web前置技能
一、HTTP协议
1、基础认证
在HTTP中,基本认证(英语:Basic access authentication)是允许http用户代理(如:网页浏览器)在请求时,提供`用户名` 和`密码`的一种方式。详情请查看 https://zh.wikipedia.org/wiki/HTTP基本认证
直接上脚本
#!/usr/bin/python
# -*- coding: utf-8 -*-
# -- author : valecalida --
# edit_time: 2020/3/19 下午6:43
from urllib.request import HTTPBasicAuthHandler, build_opener, HTTPPasswordMgrWithDefaultRealm
from urllib.error import URLErrorusername = 'admin'
f = open('10_million_password_list_top_100.txt', 'r')
url = "http://challenge-b14d74b2bbccc186.sandbox.ctfhub.com:10080/flag.html"
for line in f.readlines():password = line.strip()instance = HTTPPasswordMgrWithDefaultRealm()instance.add_password(None, url, username, password)auth_handler = HTTPBasicAuthHandler(instance)opener = build_opener(auth_handler)try:res = opener.open(url)html = res.read().decode('utf-8')print("用户名:admin 密码:%s" % password, "是正确答案")print("flag为:", html)breakexcept URLError as e :print("用户名:admin 密码:%s" % password, "不是正确答案,原因是:", e.reason)
f.close()
这里为了直观的看到密码,我这里打印了一下,不然可以不打印
运行结果是
用户名:admin 密码:123456 不是正确答案,原因是: Unauthorized
用户名:admin 密码:password 不是正确答案,原因是: Unauthorized
·
·
·
省
略
很
多
行
·
·
·
用户名:admin 密码:andrew 不是正确答案,原因是: Unauthorized
用户名:admin 密码:tigger 是正确答案
flag为: ctfhub{e33b1ac90d8205e95a7dc326726cd1ffe080c673}
或者使用下面这个脚本也可以
#!/usr/bin/python
# -*- coding: utf-8 -*-
# -- author : valecalida --
# edit_time: 2020/3/20 下午2:27
import requests
from requests.auth import HTTPBasicAuth
username = 'admin'
f = open('10_million_password_list_top_100.txt', 'r')
url = "http://challenge-8d232fa7f09a8d27.sandbox.ctfhub.com:10080/flag.html"
for line in f.readlines():password = line.strip()res = requests.get(url=url, auth = HTTPBasicAuth(username, password))if res.status_code == 200:print(res.text)break# else:# continue
2、302跳转
#!/usr/bin/python
# -*- coding: utf-8 -*-
# -- author : valecalida --
import requests
url = "http://challenge-061acc63c590e9b4.sandbox.ctfhub.com:10080/index.php"
r = requests.get(url,allow_redirects=False)
print(r.text)
3、Cookie
#!/usr/bin/python3
# -*- coding: utf-8 -*-
# --author:valecalida--
import urllib.request
url = "http://challenge-dd1412b01a02d5dd.sandbox.ctfhub.com:10080/"header = {"Cookie": "admin=1"
}
req = urllib.request.Request(url, headers=header, method="GET")
res = urllib.request.urlopen(req)
print(res.read().decode('utf-8'))
4、请求方式
#!/usr/bin/python3
# -*- coding: utf-8 -*-
# --author:valecalida--
# Edit time: 2020/3/19 19:59
from urllib import request
import re
"""HTTP Method is GETUse CTF**B Method, I will give you flag.Hint: If you got 「HTTP Method Not Allowed」 Error, you should request index.php.
"""
rr = re.compile(r'\bctfhub{.*}', re.I)
url = "http://challenge-c2631c2870dc91e1.sandbox.ctfhub.com:10080/index.php"
req = request.Request(url=url, method="CTFHUB")
res = request.urlopen(req)
print(rr.findall(res.read().decode('utf-8'))[0])
5、响应包源代码
#!/usr/bin/python3
# -*- coding: utf-8 -*-
# --author:valecalida--
# Edit time: 2020/3/19 20:56
import re
import urllib.request
rr = re.compile(r'\bctfhub{.*}', re.I)url = "http://challenge-226bf952c446eb7c.sandbox.ctfhub.com:10080/"res = urllib.request.urlopen(url)
print(rr.findall(res.read().decode('utf-8'))[0])
未完待续~~
CTFHUB Web前置技能 题解记录(HTTP部分)相关推荐
- CTFHub技能树web(持续更新)--web前置技能(HTTP协议)--302跳转
302跳转 首先题目很明显的告诉我们存在页面重定向,所以我们现抓包: 在历史记录里面我们看到了这个302跳转,在他的回包里面,我们看到了这个Location是index.php,那么我们登陆到这里面看 ...
- CTFHub-web前置技能-请求方式、302跳转、cookie、基础认证、响应包源代码
CTFHub-web前置技能 1.请求方式 方法一:burp抓包 将GET改为CTFHUB 放包 方法二:curl 命令 利用 curl 命令对本题求解在命令行中输入 相关知识 号 方法 描述 1 G ...
- Web前端理论知识记录
Web前端理论知识记录 Elena · 5 个月前 cookies,sessionStorage和localStorage的区别? sessionStorage用于本地存储一个会话(session)中 ...
- Dynamics CRM2016 Web API之创建记录
前篇介绍了通过primary key来查询记录,那query的知识点里面还有很多需要学习的,这个有待后面挖掘,本篇来简单介绍下用web api的创建记录. 直接上代码,这里的entity的属性我列了几 ...
- python爬虫的技能_python-爬虫技能升级记录
====== python-爬虫技能升级记录 ====== ===== (一)感知爬虫及爬取流程 ===== 从简单存取一个页面到 爬取到大量的定量数据,对技术要求更高,以百度百科数据爬取为入门练手项 ...
- 20201007:力扣209周周赛题解记录(上)
力扣209周周赛题解记录(上) 题目 思路与算法 代码实现 复杂度分析 题目 特殊数组的特征值 奇偶树 思路与算法 第一题单纯的暴力就行,应该是可以用二分之类的改善复杂度,没必要赘述,直接上暴力遍历, ...
- 20200922:leetcode35周双周赛题解记录(下)
leetcode35周双周赛题解记录(下) 题目 思路与算法 代码实现 复杂度分析 题目 3.1590. 使数组和能被 P 整除 4.1591. 奇怪的打印机 II 思路与算法 第三题前缀和衍生题目, ...
- 20200819:力扣202周周赛题解记录
力扣202周周赛题解记录 题目一:[存在连续三个奇数的数组](https://leetcode-cn.com/problems/three-consecutive-odds/) 代码实现 题目二:[使 ...
- 20200815:力扣201周周赛题解记录下
力扣201周周赛题解记录下 题目 思路与算法 代码实现 题目 和为目标值的最大数目不重叠非空子数组数目 1547. 切棍子的最小成本 在这里插入图片描述 思路与算法 第3题还是一个简单的模拟,用set ...
- 20200814:力扣201周周赛题解记录上
力扣201周周赛题解记录上 题目 思路与算法 代码实现 写在最后 题目 整理字符串 找出第 N 个二进制字符串中的第 K 位 思路与算法 第一题这种类似消消乐的东西都是直接用栈来实现的,注意代码细节 ...
最新文章
- 用Leangoo敏捷看板工具管理 产品线路图
- Android NDK开发method GetStringUTFChars’could not be resolved
- 收费标准_互联网推广收费标准
- Oracle的奇葩设置之非归档模式与RMAN备份
- MMDetection-数据准备
- Android开发之git命令创建tag提交远程仓库的方法(图文教程)
- java项目加减乘除验证码_课堂Java小程序(加减乘除与验证码)
- layabox2:打地鼠(地鼠显示/停留/受击/消失)
- 你给客户报完价,客户就没消息了,什么原因呢?
- MySQL行级锁和表级锁
- 专业版谷歌地球地图永久版带手机版App
- 螺钉 螺母 硬币三种物体的识别
- c语言算摄氏温度和绝对温度,将华氏度转换为绝对温度C语言
- python火车票自我编写_自己动手写100行Python代码抢火车票!
- 计算机二级题百度云,计算机二级office题库
- 【面试题】前端人70%以上 不了解的promise/async await
- 如何解决条码打印机隔张打印问题
- 乾坤符和鸿蒙符,『玩家攻略』主力兵符的不二选择!轮回符、不灭符分析
- html制作网易云音乐登录系统,JavaScript实现[网易云音乐Web站登录窗口]拖拽功能...
- android 蓝牙cs8510,【华为ROM大赛】华为G610-u00移植联想超级VIBEROM你值得拥有(兼容10月机)cs85d2d9a...
热门文章
- 统计学习方法读书笔记16-SVM支持向量机
- 书单丨上过太空的JavaScript用着就是香!
- 让DB2跑得更快——DB2内部解析与性能优化
- .NET程序员面试指南:解释委托的基本原理
- 【机器学习笔记】使用lightgbm画并保存Feature Importance
- python输出文本文件_Python进阶02 文本文件的输入输出
- 二、optimizer_trace基本使用
- oracle数据库如何写翻页_ORACLE翻页SQL语句
- Property “pageNumber“ was accessed during render but is not defined on instance.
- 7-4 输出三角形字符阵列 (15 分)