JDK CVE-2023-21939 分析利用
在去年 CS 反制的时候,Beichen 师傅提出了 Java Swing 中存在的潜在漏洞,在配合 Apache XML Graphics Batik 1.16 之前的版本时,某些情况会导致 RCE 漏洞
JLabel 的内容可以输入 HTML 格式,例如下方的 Demo
在去年 CS 反制的时候,Beichen 师傅提出了 Java Swing 中存在的潜在漏洞,在配合 Apache XML Graphics Batik 1.16 之前的版本时,某些情况会导致 RCE 漏洞
JLabel 的内容可以输入 HTML 格式,例如下方的 Demo
VSCode CVE-2023-29338
漏洞发现
在VS Code中可以自定义JSON Schema
CSRF/SSRF
其实最早这个洞我是作为CSRF来对待的,在测试VS Code的各种环境后,发现这个漏洞非常通用,除了常见的桌面端,还有VSCode Web和VSCode Remote都可以利用
桌面端不必多说,直接从本机发起请求
VSCode Web是从浏览器发出,发一个fetch的跨域请求,纯CSRF,总体感觉价值不大,就没有细看了
VSCode Remote是从远程机器发出,这个就比较有趣了,有点SSRF的意思
值得一提的是GitHub Codespaces也是用的VSCode Remote,然后机器基本都在Azure上,云SSRF的想象空间就比较大了
漏洞发现
在VS Code中可以自定义JSON Schema
CSRF/SSRF
其实最早这个洞我是作为CSRF来对待的,在测试VS Code的各种环境后,发现这个漏洞非常通用,除了常见的桌面端,还有VSCode Web和VSCode Remote都可以利用
桌面端不必多说,直接从本机发起请求
VSCode Web是从浏览器发出,发一个fetch的跨域请求,纯CSRF,总体感觉价值不大,就没有细看了
VSCode Remote是从远程机器发出,这个就比较有趣了,有点SSRF的意思
值得一提的是GitHub Codespaces也是用的VSCode Remote,然后机器基本都在Azure上,云SSRF的想象空间就比较大了
Stable Diffusion WebUI
这次我是用的是Stable Diffusion WebUI来生成ai图,这是一款现在非常流行的用ai来绘图的开源工具,给出一组描述词,ai就可以根据描述词画出你想要的图片。现在使用最多的是AUTOMATIC1111改进的图形化版本,支持Linux/Windows/MacOS系統,以及Nvidia/AMD/Apple的GPU,几乎没有门槛,装好即用。
在筛选中勾选Checkpoint对应的就是基础绘画模型。
这次我是用的是Stable Diffusion WebUI来生成ai图,这是一款现在非常流行的用ai来绘图的开源工具,给出一组描述词,ai就可以根据描述词画出你想要的图片。现在使用最多的是AUTOMATIC1111改进的图形化版本,支持Linux/Windows/MacOS系統,以及Nvidia/AMD/Apple的GPU,几乎没有门槛,装好即用。
在筛选中勾选Checkpoint对应的就是基础绘画模型。
结论
DEADFACE CTF 为参赛者提供了一个提升专业知识和扩展专业网络的机会。通过这次比赛克服的每一个挑战、取得的每一个突破以及建立的每一个关系都进一步提升了网络安全社区。我们诚挚地邀请大家接受挑战,加入我们参加下一届 DEADFACE CTF,在这里,决心、韧性和友爱精神相结合,为安全而坚固的数字未来铺平道路。
DEADFACE CTF 为参赛者提供了一个提升专业知识和扩展专业网络的机会。通过这次比赛克服的每一个挑战、取得的每一个突破以及建立的每一个关系都进一步提升了网络安全社区。我们诚挚地邀请大家接受挑战,加入我们参加下一届 DEADFACE CTF,在这里,决心、韧性和友爱精神相结合,为安全而坚固的数字未来铺平道路。
如何触发getter方法
这里多提一句为什么能触发get方法调用
因为是toString所以肯定会涉及到对象中的属性提取,fastjson在做这部分实现时,是通过ObjectSerializer类的write方法去做的提取
这里多提一句为什么能触发get方法调用
因为是toString所以肯定会涉及到对象中的属性提取,fastjson在做这部分实现时,是通过ObjectSerializer类的write方法去做的提取
巧用Windows事件日志“隐藏”载荷
事件查看器的另一个“应用程序和服务日志”文件夹里,包含Windows系统中其它各类重要服务组件的事件日志。Windows PowerShell日志在该集合中
事件查看器的另一个“应用程序和服务日志”文件夹里,包含Windows系统中其它各类重要服务组件的事件日志。Windows PowerShell日志在该集合中
代码语言:javascript
//算法1
//算法1
U16 Can_FD_Analyzer::ComputeCrc15(std::vector<BitState> &bits, U32 num_bits)
{
//X15 + X14 + X10 + X8 + X7 + X4 + X3 + X0.
U16 crc_result = 0;
for (U32 i = 0; i < num_bits; i++) {
BitState next_bit = bits[i];
//Exclusive or
if ((crc_result & 0x4000) != 0) {
next_bit = Invert(next_bit); //if the msb of crc_result is zero, then next_bit is not inverted; otherwise, it is.
}
crc_result <<= 1;
if (next_bit == mSettings->Recessive()) {
//normally bit high.
crc_result ^= 0x4599;
}
}
return crc_result & 0x7FFF;
}
//算法2
U16 Can_FD_Analyzer::MakeCRC15(std::vector<BitState> &bits, U32 num_bits)
{
//X15 + X14 + X10 + X8 + X7 + X4 + X3 + X0.
U16 CRC[15] = {
0 };
for (U32 i = 0; i < num_bits; i++) {
U32 DoInvert = (bits[i] == mSettings->Recessive()) ^ CRC[14]; //XOR required?
CRC[14] = (CRC[13] ^ DoInvert); //14
CRC[13] = CRC[12];
CRC[12] = CRC[11];
CRC[11] = CRC[10];
CRC[10] = (CRC[9] ^ DoInvert); //10
CRC[9] = CRC[8];
CRC[8] = (CRC[7] ^ DoInvert); //8
CRC[7] = (CRC[6] ^ DoInvert); //7
CRC[6] = CRC[5];
CRC[5] = CRC[4];
CRC[4] = (CRC[3] ^ DoInvert); //4
CRC[3] = (CRC[2] ^ DoInvert); //3
CRC[2] = CRC[1];
CRC[1] = CRC[0];
CRC[0] = DoInvert;
}
U16 result = 0; // CRC Result
for (U32 i = 0; i < 15; i++) {
result = result | (CRC[i] << i);
}
return (U16)result;
}