红客解密程序 暗网编程
27.3K subscribers
966 photos
12 videos
1 file
56 links
渗透测试,#删库,数据删除 拿数据库 木马注入 破解,提权,Dns动持
Download Telegram
JDK CVE-2023-21939 分析利用

在去年 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的想象空间就比较大了
微众银行t1带格式 可筛还款 可选择企业贷价格小贵 当天出数 晚上没出推迟到第二天早上
可不筛(含申请,还款)
可筛还款
可筛逾期
可筛企业贷款
装修关键词
Stable Diffusion WebUI
这次我是用的是Stable Diffusion WebUI来生成ai图,这是一款现在非常流行的用ai来绘图的开源工具,给出一组描述词,ai就可以根据描述词画出你想要的图片。现在使用最多的是AUTOMATIC1111改进的图形化版本,支持Linux/Windows/MacOS系統,以及Nvidia/AMD/Apple的GPU,几乎没有门槛,装好即用。

在筛选中勾选Checkpoint对应的就是基础绘画模型。
其中,容器逃逸层面,一般是不需要与api-server做交互的,也就不会留下日志。但部分容器逃逸手段是利用错误配置的pod在创建时实施攻击。因此,容器逃逸的检测必须前置到容器创建时,记录下应用请求的权限,然后结合运行时入侵检测做进一步监控。

当一个拥有privilege、sys_admin、network、ipc等特殊权限的pod创建时,它的日志记录是这样的
结论
DEADFACE CTF 为参赛者提供了一个提升专业知识和扩展专业网络的机会。通过这次比赛克服的每一个挑战、取得的每一个突破以及建立的每一个关系都进一步提升了网络安全社区。我们诚挚地邀请大家接受挑战,加入我们参加下一届 DEADFACE CTF,在这里,决心、韧性和友爱精神相结合,为安全而坚固的数字未来铺平道路。
跟进相关代码可以发现,envMinisignPubKe默认为空,导致签名校验失效,所以我们可以构造恶意升级包,最终形成RCE
如何触发getter方法
这里多提一句为什么能触发get方法调用

因为是toString所以肯定会涉及到对象中的属性提取,fastjson在做这部分实现时,是通过ObjectSerializer类的write方法去做的提取
巧用Windows事件日志“隐藏”载荷

事件查看器的另一个“应用程序和服务日志”文件夹里,包含Windows系统中其它各类重要服务组件的事件日志。Windows PowerShell日志在该集合中
波形实例

本实例使用 Kingst LA5016 usb 逻辑分析仪检测CAN数据通讯。下图2是一个完整的数据包分析截图。从图中可以看到,LA5016的CAN解析模块,将协议数据分析为 ID(协议id号),RTR(远程帧/数据帧标识), DLC(数据长度),Data(传输数据), CRC, ACK/NAK 。

图1数据包的ID号为0x002, RTR:false(数据帧), DLC:0x8(8个数据),Data:数据,CRC为0x3845(15位), ACK:应答。

圆形白点:逻辑数据。

方形白点:填充位。
代码语言:javascript
//算法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;
}