自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

原创 Node.js 模块系统:CJS 与 ESM 详解

Node.js模块系统差异与使用规范总结 Node.js支持CommonJS(CJS)和ESM两套模块系统,主要区别如下: CommonJS(CJS) 默认使用,文件后缀为.js或.cjs 语法:require()/module.exports 路径要求:本地文件必须带./前缀,后缀可省略 动态加载,运行时执行 ESM 需设置package.json中"type":"module"或使用.mjs后缀 语法:import/export 路径要求:必须带./前缀和完整后缀名(.js不能省略) 静态加载,支持tr

2026-08-06 13:36:55 273

原创 Semgrep 实战指南:从漏洞扫描到团队规范,一站式提升代码安全与质量

本文介绍了Semgrep的安装、基本使用和集成方法,包括编写YAML规则进行漏洞扫描、统一团队代码规范、预提交钩子自动化检

2026-08-04 00:34:20 364

原创 解决无法连接腾讯云轻服务器问题

摘要:用户SSH连接服务器时显示"Connection established"后立即断开。排查发现防火墙与SSH服务配置正常,但服务器缺少OpenSSH必需的权限分离目录/run/sshd,导致连接建立后立即终止。解决方案是创建该目录(需设置755权限及root属主)并重启SSH服务。注意该目录可能随系统重启消失,建议加入启动脚本持久化。同时推荐将SSH端口22仅对可信IP开放以提升安全性。

2026-07-27 10:50:07 438

原创 JavaScript原型污染漏洞Prototype Pollution

摘要: 原型链污染(Prototype Pollution)是JavaScript中一种通过篡改对象原型链实现的安全漏洞。攻击者通过注入恶意属性(如__proto__)修改原型对象(如Object.prototype),导致所有继承该原型的对象被污染,可能引发DoS或RCE风险。漏洞示例展示了通过merge函数污染原型链的过程。防御措施包括:过滤敏感属性(__proto__)、使用Object.create(null)创建无原型对象、冻结原型、采用Map结构或安全库(如Lodash)、启用严格模式及JSON

2026-07-22 13:43:01 423

原创 一文讲解Mann-Whitney U检验&随机优越性度量A&p值&统计显著(附Python代码)

本文介绍了在模糊测试工具性能比较中常用的两种统计分析方法:Mann-Whitney U检验和随机优越度A度量。Mann-Whitney U检验用于判断两组数据是否存在显著差异(p<0.05),而A度量则量化优势程度(A>0.5表示优势)。文章通过实例说明,当工具A的平均覆盖率比工具B高30%时,仍需进行统计检验以确认其显著性。最后提供了Python实现代码,展示了如何计算秩和、U统计量、p值和A值,为评估随机算法性能差异提供了统计依据。

2026-07-20 18:22:04 274

原创 限制类型子树变异的实现

本文介绍了实验性灰盒模糊测试工具DIE的核心变异策略"限制类型的子树变异"。该工具采用C语言和TypeScript混合架构,在AFL框架基础上通过fuzz_js函数实现变异流程。关键变异策略由TypeScript模块esfuzz.ts实现,主要包含三种方法:1)通过stmtBuilder创建新语句;2)针对不同表达式类型变异操作符;3)通过typeBuilder.build实现类型约束的子树替换,该方法会综合类型兼容性检查、偏好约束和加权随机策略生成符合要求的AST节点。特殊类型如函数表达式和代理处理器等有

2026-07-20 13:01:02 238

原创 基于代码插桩的JavaScript动态类型推理(一)

本文介绍了JavaScript动态类型推理技术的实现原理,以DIE工具为例,通过代码插桩在运行时捕获变量类型。核心流程包括:使用Object.prototype.toString.call()获取基础类型,递归处理数组和对象属性,并通过_RecordType输出类型信息。该技术利用源码级插桩动态分析变量类型,为JavaScript程序分析提供精确的运行时类型推断能力,适用于调试、安全测试等场景。

2026-07-17 15:56:18 274

原创 Ubuntu搭建ANTLR4的C++ 运行时环境

本文介绍了在Ubuntu 22.04上配置ANTLR4环境并实现C++语言支持的完整流程。ANTLR是一个强大的语法分析器生成器,可用于构建语言工具。配置步骤包括:1)安装Java环境;2)下载ANTLR4工具并设置环境变量;3)编译安装C++运行时库;4)通过Hello.g4示例测试词法语法解析功能。最后演示了使用grun工具查看语法树的方法。该环境可用于开发自定义编译器,展示了ANTLR4在语言处理方面的应用能力。

2026-07-15 17:03:36 37

原创 模糊测试工具之DIE

摘要: DIE是一款基于灰盒测试的实验性模糊测试工具,通过保留关键结构的子树替换变异方法提升JS引擎测试效果。其配置需Ubuntu 22.04环境,依赖Clang-6、Redis等组件,编译后结合AFL对目标(如JerryScript)插桩测试。测试时通过Redis实现分布式任务调度,初始种子需类型推断预处理。工具虽高效(实验中对主流JS引擎漏洞发现率显著提升),但编译时可能因Clang-6段错误需调试。底层仍依赖AFL框架,扩展了动态类型推断与约束变异功能。

2026-07-15 09:48:55 286

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除