ctfhub技能树—web前置技能—http协议—基础认证
打开靶机环境
下载附件后发现是常用密码字典,于是考虑本题可能是考察密码爆破
打开环境
发现需要认证,于是考虑使用暴力破解
使用burpsuite抓包,查看
发现最下面一行有加密后的密文
使用base64解码
发现是刚刚输入用于验证的账号密码
于是使用脚本把密码进行加密
附上脚本
#! /usr/bin/env python3
# _*_ coding:utf-8 _*_
import base64 # 字典文件路径
dic_file_path = './10_million_password_list_top_100.txt'
with open(dic_file_path, 'r') as f:
password_dic = f.readlines() username = 'admin:' # 用户名
for password in password_dic:
str1=str.encode(username + password.strip())
encodestr = base64.b64encode(str1)
encodestr=str(encodestr)
encodestr=encodestr.strip('b\'')
encodestr=encodestr.replace("=","\=") #避免“=”被转译
print(encodestr)
运行后输出加密后的密文
使用密文进行爆破
设置爆破的位置
导入密码字典
开始爆破
成功拿到正确密码(密码是随机的,需要自己爆破)
解密
输入验证
验证成功拿到flag
基础认证是什么?
1 在HTTP中,基本认证(英语:Basic access authentication)是允许http用户代理(如:网页浏览器)在请求时,提供用户名和密码的一种方式。
具体如下(认证模型)
认证的四个步骤:
1 请求: 客户端发起一条请求;第一条请求没有认证消息;
2 质询: 服务器对客户端进行质询;返回一条401 Unauthorized响应,并在www-Authenticate首部说明如何以及在哪里进行认证;一般指定对哪个安全域进行认证;
3 授权:客户端收到401质询,弹出对话框,询问用户名和密码,用户输入用户名和密码后,客户端会用一个冒号将其连接起来,编码成“经过扰码的”Base-64表示形式,然后将其放在Authorization首部中回送;
4 成功: 服务器对用户名和密码进行解码,验证它们的正确性,然后用一条HTTP 200 OK报文返回所请求的报文;
基本认证的安全缺陷:
1 这个基础认证并不安全,因为每次传输都会带上认证信息,并且是明文的(BASE64是编码,不是加密),因此密码等信息可能会被嗅探器发现。
ctfhub技能树—web前置技能—http协议—基础认证的更多相关文章
- ctfhub技能树—web前置技能—http协议—请求方式
打开靶机环境(每次打开都要30金币,好心疼啊) 题目描述为"请求方式" HTTP的请求方式共有八种 1.OPTIONS 返回服务器针对特定资源所支持的HTTP请求方法,也可以利用向 ...
- ctfhub技能树—web前置技能—http协议—响应包源代码
打开靶机环境 查看网页是一个贪吃蛇小游戏 根据提示查看源码 发现flag 至此HTTP协议结束
- ctfhub技能树—web前置技能—http协议—Cookie
打开靶机环境 查看显示内容 根据提示,需要admin登录才能得到flag 题目介绍为Cookie欺骗.认证.伪造 介绍一下cookie和session 一.cookie: 在网站中,http请求是无状 ...
- ctfhub技能树—web前置技能—http协议—302跳转
开启靶机 打开环境,查看显示 点击Give me Flag后发生跳转 根据题目提示为HTTP临时重定向 简单记录一下HTTP临时重定向是什么 HTTP重定向:服务器无法处理浏览器发送过来的请求(req ...
- [WEB前置技能]HTTP协议
HTTP概述 HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送 ...
- CTFHub Web题学习笔记(Web前置技能+信息泄露题解writeup)
今天CTFHub正式上线了,https://www.ctfhub.com/#/index,之前有看到这个平台,不过没在上面做题,技能树还是很新颖的,不足的是有的方向的题目还没有题目,CTF比赛时间显示 ...
- ctfhub web 前置技能(请求方式、302跳转、Cookie)
第一题:请求方式 打开环境分析题目发现当前请求方式为GET 查看源码发现需要将请求方式改为CTFHUB就可以 使用bp抓包 发送到repeater模块修改请求方式 即可得到flag 第二题:302跳转 ...
- javaweb入门---web服务器与HTTP协议基础
上文web基础简介了web到底是什么,以及身为Java开发人员需要掌握的地方.本文将解答web服务器是什么,怎么使用?还有关于http协议的基础知识. web服务器 web服务器的大概念很广泛,但是通 ...
- 【CTFHUB】Web技能树
Web HTTP协议 请求方式
随机推荐
- 二、Linux文件系统结构
为了方便管理文件和目录,Linux 系统将它们组织成一个以根目录 / 开始的倒置的树状结构.Linux 中的目录,和 Windows 系统中的文件夹类似,不同之处在于,Linux 系统中的目录也被当做 ...
- [水题日常]Luogu1462 通往奥格瑞玛的道路
QwQ马上高二啦不能颓啦-知乎上听说写博客的效果挺好的,来试一下好啦~ 题目链接<< 题目描述 在艾泽拉斯,有n个城市.编号为1,2,3,...,n. 城市之间有m条双向的公路,连接着两个 ...
- C#数据结构-赫夫曼树
什么是赫夫曼树? 赫夫曼树(Huffman Tree)是指给定N个权值作为N个叶子结点,构造一棵二叉树,若该树的带权路径长度达到最小.哈夫曼树(也称为最优二叉树)是带权路径长度最短的树,权值较大的结点 ...
- Hibernate Tools插件在线安装
1.查看你的Eclipse的版本:Help | About Eclipse Version: Oxygen.2 Release(4.11.0) 2.HibernateTools的下载地址为:http: ...
- Spring中BeanFactory与FactoryBean到底有什么区别?
一.BeanFactory BeanFactory是一个接口,它是Spring中工厂的顶层规范,是SpringIoc容器的核心接口,它定义了getBean().containsBean()等管理Bea ...
- 微服务之间如何共享DTO?
1. 概述 近些年来,微服务变得越来越流行.微服务基本特征是模块化.独立.易于扩展的.它们之间需要协同工作并交换数据.为了实现这一点,我们创建了名为 DTO 的共享数据传输对象.在本文中,我们将介绍在 ...
- 基础才是重中之重~BouncyCastle实现的DES3加密~java通用
对于BouncyCastle类库(包)来说,他提供了很多加密算法,在与.net和java进行相互加解密过程中,得到了不错的应用,本文以DES3为例,来说一下DES3加解密的过程. 加密过程 明文字符转 ...
- 通过naa在esxi主机上找到物理磁盘的位置
因为有一块磁盘告警,需要找到这个块磁盘.通过网络搜索就找到了这个shell脚本. 感谢 Jorluis Perales, VxRail TSE 2 shell脚本: # Script to obtai ...
- Android——spinner控件实现读取xml资源,省、市两级互动
(1)首先在res文件夹下面的values中创建一个省市arrays.xml文件夹,如下 <?xml version="1.0" encoding="utf-8&q ...
- 园子的品牌专区上新:NoSQL 数据库佼佼者 Aerospike
品牌专区是园子去年推出的新楼盘,为优秀的科技企业在园子里提供一个地方,展示自己的品牌,分享自己的技术内容. 最近我们和国外领先的 NoSQL 数据库厂商 Aerospike 达成了合作,入驻了园子的品 ...