Go模糊测试
本篇文章主要讲解在 go 语言中进行模糊测试的基础知识。通过模糊测试,随机数据会针对您的测试运行,以尝试找出漏洞或导致崩溃的输入。可以通过模糊测试发现的一些漏洞示例包括 SQL 注入、buffer overflow、拒绝服务和 cross-site scripting 攻击。 想要在 go 中使用模糊测试,需要安装 go1.18beta1 以上版本,具体的安装就不过多叙述了。 1 创建项目文件夹 我们创建一个名叫 fuzz-demo 的文件夹,并在其中创建一个名叫 main.go 的文件。 2 输入代码 在 main.go 中输入如下代码: package main import "fmt" func Reverse(s string) string { b := []byte(s) for i, j := 0, len(b)-1; i < len(b)/2; i, j = i+1, j-1 { b[i], b[j] = b[j], b[i] } return string(b) } func main() { input := "quick quick brown fox jumped over the lazy dog" rev := Reverse(input) doubleRev := Reverse(rev) fmt.Printf("原来: %q\n", input) fmt.Printf("反转: %q\n", rev) fmt.Printf("再反转: %q\n", doubleRev) } Reverse 函数的作用就是对字符串进行反转。 ...