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协议 请求方式
随机推荐
- Hyper-v 虚拟机使用NAT方式连接网络
最近因为搞docker的原因,卸掉了vb和vm,用上了hyper. 其实一直挺喜欢hyper-v的,但是一直都受虚拟网络的影响--hyper-v创建不了vm和vb使用的那种NAT连接方式. 默认使用外 ...
- Java带Body内容的Http请求
使用Java进行Http请求: package test2; import com.mashape.unirest.http.HttpResponse; import com.mashape.unir ...
- MySQL-常见小疑惑
1. DISTINCT 多列去重 1.1 select DISTINCT a,b 实际含义是? 正确:排除 (a列重复且b列重复)的记录 错误:排除 a b两列 值合并后 重复的记录. 举例1: 去 ...
- windows 10 1909 无法启用 .NET Framework 解决
安装某应用,运行提示: 应用程序无法正常启动(0xc0000135) 应该是缺少 .net framework. 控制面板-程序-"启用或关闭windows功能" 勾选.NET F ...
- 大白话详解大数据hive知识点,老刘真的很用心(3)
前言:老刘不敢说写的有多好,但敢保证尽量用大白话把自己复习的内容详细解释出来,拒绝资料上的生搬硬套,做到有自己的了解! 1. hive知识点(3) 从这篇文章开始决定进行一些改变,老刘在博客上主要分享 ...
- js深克隆与浅克隆
定义: 浅克隆: 克隆对象的一层属性, 如果对象还有对象的话,里面的对象没有进行克隆,只是把地址给了别人.也可以理解为只是简单的克隆了躯体,但是没有得到其灵魂: 深克隆:克隆对象的多层属性,对象里面还 ...
- Swift3.0学习之Button
1.根据字符串的长度确定Button的长度(button的高度给定) let hight:CGFloat = 30.0 let size1 = CGSize(width: getLabWidth(la ...
- ASP.NET Core 3.1使用Swagger API接口文档
Swagger是最流行的API开发工具,它遵循了OpenAPI规范,可以根据API接口自动生成在线文档,这样就可以解决文档更新不及时的问题.它可以贯穿于整个API生态,比如API的设计.编写API文档 ...
- MES系统介绍
为什么要引入MES系统? 随着ERP在企业应用的深入,ERP系统逐渐显示出其局限性.当ERP下达的工单到生产现场后,产品制造是以产线 "工单"或"批次"(Bat ...
- [译] ConstraintLayout 可视化[Design]编辑器(这到底是什么)[第四部分]
原文地址:Testing Views in Isolation with Espresso 原文作者:Ataul Munim 译文出自:掘金翻译计划 译者:yazhi1992 校对者:lovexiao ...