PHP 代码审计实战:常见漏洞原理与绕过技巧详解
本文通过六个经典 PHP CTF 题目,深入解析代码审计中的核心漏洞。涵盖 extract 变量覆盖、%00 截断绕过 is_numeric、反序列化多重加密绕过、WITH ROLLUP SQL 注入,以及 strcmp 和 sha1 函数的数组类型绕过机制。适合安全初学者掌握基础审计思路。
本文通过六个经典 PHP CTF 题目,深入解析代码审计中的核心漏洞。涵盖 extract 变量覆盖、%00 截断绕过 is_numeric、反序列化多重加密绕过、WITH ROLLUP SQL 注入,以及 strcmp 和 sha1 函数的数组类型绕过机制。适合安全初学者掌握基础审计思路。

本文详细解析Go语言中的基础数据类型,涵盖整型、浮点数、布尔值及字符串的声明与特点。通过代码示例展示int64、float32等类型的用法,并重点讲解string类型的高频操作,如长度计算(byte vs rune)、拼接、子串判断及修改方法,帮助开发者快速掌握Go核心数据结构。
本文介绍如何使用Go语言的encoding/json包进行数据的序列化(Marshal)与反序列化(Unmarshal)。通过基础类型、切片、Map及结构体示例,详细演示了将Go数据转为JSON字符串及解析JSON字符串的具体代码操作。
在MySQL中直接解析包含多个对象的JSON数组字符串较困难。本文介绍通过SUBSTRING_INDEX函数配合自增ID表(或help_topic),将JSON数组拆分为独立行,再利用JSON_EXTRACT提取具体字段的方法。该方法无需自定义存储过程,适用于单行文本批量解析场景。

介绍利用 JavaScript 字符串 split 方法统计整数二进制形式中 1 的个数的技巧。分析直接使用正则 split 在不同浏览器下的兼容性问题,并提供以 '1' 为分隔符的标准解法,同时对比其与原生 for 循环的效率差异。
本文介绍如何在C#和Unity中利用正则表达式精准去除富文本中的字体大小标记,同时保留颜色等样式。通过Regex.Replace函数配合特定的匹配规则,可解决传统全量替换误删普通字符的问题,并附带代码示例与参数解析。
在C#开发中,可以使用正则表达式快速验证字符串是否为整数或小数。本文分别给出了匹配纯整数和带小数点数字的正则模式,并结合Regex类说明具体的参数设置及返回逻辑,帮助开发者准确判断输入格式。
本文介绍如何在Go语言中读取TXT文档,处理其中的数据并将其转换为新文件名。主要步骤包括:使用ioutil.ReadFile()读取整个文件内容,用strings.Split()按行分割,对每行的数据进行空格切割和下划线拼接,最后生成新的.md文件名。代码展示了如何处理文件读取错误和检查文件是否存在,适合需要批量处理文本文件的场景。
本文详解Python中json与pickle模块的数据序列化操作。对比两者在文本/二进制、可读性及互操作性上的差异,并演示dumps、dump、loads、load四个核心函数的具体用法与代码示例,帮助开发者根据场景选择合适的序列化方案。
本文详细解析Golang中处理小数的两种常见需求:判断小数点位数与精确四舍五入。通过正则表达式匹配可高效验证输入格式;针对原生fmt包四舍六入的局限性,推荐使用math.Pow结合math.Round的组合算法,确保5进位逻辑正确,满足金融与数据场景的高精度要求。

本文介绍在 JavaScript 中如何通过 window 对象结合数组循环,动态创建并赋值命名的全局变量。同时演示如何借助 eval() 函数读取这些动态生成的变量值,并将其映射到新的对象中。该方法适用于需要根据配置灵活生成变量的场景,但需注意安全与性能权衡。

本文详解Go语言fmt包的用法,涵盖Print、Fprint、Sprint等输出函数的区别与应用场景。深入解析%v、%T等通用占位符及整型、浮点数格式化参数。同时介绍Scan、Scanf等标准输入机制及F/S系列变体,提供完整代码示例与注意事项。