问题标签 [fuzzing]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 模糊 Python 模块
这个问题可能看起来有点不对劲,但是否可以对 python 模块进行模糊测试?我目前正在学习有关 Peach 模糊测试框架的所有知识,并且我想对 python 模块进行模糊测试:cx_Oracle 以测试其安全性。这可以做到吗?因为到目前为止,我所读到的关于 fuzzing 的所有内容都告诉我并非如此。谢谢!
owasp - OWASP 的 ZAP 和 Fuzz 能力
我的场景:
我导航到登录页面。我输入了一个密码错误的已知用户名。ZAP 没有任何问题。
我选择 POST 到登录页面。我找到包含用户名和密码的行。密码:ctl00%24ContentPlaceHolder1%24cpLoginAspx%24ctl00%24LoginControl1%24LTLogin%24Password=12345&
我突出显示 12345 并右键单击以选择 Fuzz。我已经为测试帐户输入了一个包含正确密码的自定义列表,然后我选择了它。
当我这样做时,它会按照我的预期在列表中运行。将 12345 更改为列表中的各种选项。
但是,当我知道这个词是正确的密码时。提醒我它是正确的并没有什么不同。在这种情况下,密码是 Password5。我希望它会反映或显示它被定向到新页面。但是,对于测试用户来说不正确的“密码”会发生这种情况。
我在 Fuzzer 选项卡中看到了这个:
python - 为崩溃的子进程捕获“分段错误”消息:调用communication() 后没有输出和错误
我在使用 subprocess 模块获取崩溃程序的输出时遇到问题。我正在使用 python2.7 和 subprocess 调用带有奇怪参数的程序以获得一些段错误为了调用程序,我使用以下代码:
调用是一个包含程序名称和参数的列表(一个包含随机字节的字符串,除了子进程根本不喜欢的 NULL 字节)
当程序没有崩溃时,代码会运行并向我显示 stdout 和 stderr,但是当它确实崩溃时,out 和 err 是空的,而不是显示著名的“分段错误”。
即使程序崩溃,我也希望找到一种方法来获取错误。
我还尝试了 check_output / call / check_call 方法
一些附加信息:
我在 python 虚拟环境中的 Archlinux 64 位上运行这个脚本(这里不应该是重要的东西,但你永远不知道:p)
段错误发生在我试图运行的 C 程序中,是缓冲区溢出的结果
问题是当发生段错误时,我无法获得子进程发生的事情的输出
我得到正确的返回码:-11(SIGSEGV)
使用 python 我得到:
在 python 之外我得到:
shell的返回值是一样的:echo $? 返回 139 所以 -11 ($? & 128)
java - Java模糊测试库
Java中是否有灵活的模糊测试框架?
关于模糊测试的维基百科文章将模糊测试定义如下:
模糊测试或模糊测试是一种软件测试技术,通常是自动化或半自动化的,涉及向计算机程序的输入提供无效、意外或随机数据。然后监视程序是否存在异常,例如崩溃、内置代码断言失败或发现潜在的内存泄漏。模糊测试通常用于测试软件或计算机系统中的安全问题。
我知道有这样的 Erlang 框架。欢迎任何提示。
unit-testing - 按合同设计 (DbC) 和测试驱动开发的最佳实践
我有兴趣获得关于如何在实践中最好地使用代码合同和测试的简明建议,从开发到生产。我知道两者都是不同的范例,都测试不同的东西。
在方法级别上,合约可以指定参数必须是 STRING 类型,并且要传递的最小长度为三个字符。单元测试可以确保对于与此匹配的任何给定字符串,输出哈希是正确的(假设这是函数的角色)。
是否必须存在测试以确保合同失败?我知道,要使测试有价值,它必须是可重复的,因此不是协助模糊测试的好人选。相反,DbC 会允许这样做。
最初,我认为测试可以简单地确保合同,但我假设这会将合同移动到方法定义之外,并且 DbC 正在尝试强制执行紧密耦合?
同样,合同是否仅在开发期间积极执行?在生产代码中,构建没有单元测试的迹象,但是 DbC 呢?合同是否“被忽略”或断言在实践中是否被允许公然失败?
说 DbC 在其作用是验证的方法中不存在是真的吗?例如,人们会期望来自前端的无效输入。我假设 DbC 是在任何输入被假定为“干净”的领域内严格定义的。
python - Python fuzzer,线程异常
我正在用 Python 开发一个简单的 FTP 模糊器。我首先测试 USER 命令,然后测试后验证命令。问题是在 USER 模糊请求之后,所有其他命令的线程(一次一个)根本没有启动。另一方面,如果我直接启动对所有其他命令的模糊请求,而之前没有对 USER 进行模糊测试(即评论那段代码),它可以正常工作。线程的启动/停止似乎是一个问题。winappdbg api 用于为每个循环启动一个新的 FTP 服务器实例,如果没有发生崩溃,应使用 join() 将其关闭。任何想法?
fuzzing - Peach 3 Dumb Fuzz 教程 - 无法定位 WinDbg
我正在尝试一个关于模糊测试和使用Peach Fuzzer的快速教程。运行模糊器后,我收到错误:
无法启动监视器“WindowsDebugger”。错误,无法找到 WinDbg 请使用“WinDbgPath”参数指定。
我真的不确定如何开始解决这个问题。任何帮助,将不胜感激。
security - 您如何为其他功能编写完美的模糊测试功能?
这是一段代码:
你如何编写一个完美的模糊测试函数来测试这段代码的正确功能、安全性和健壮性?
完美是指涵盖所有情况的完整测试(如果可能)。说:超出范围的值,不同的数据类型等。
您没有some_func
.
python - pcapy.findalldevs() 没有要打开的有效接口
我正在尝试在 Ubuntu vm 上运行 Sulley 的(模糊器)“network_monitor.py”。每次我这样做,我都会收到以下错误。
pcapy.PcapError: No valid interfaces to open
我相信这与我运行它的代码无关,因为当我运行时
我犯了同样的错误
任何关于正在发生的事情的提示都会令人惊叹。非常感谢提前
google-chrome - 谷歌浏览器崩溃报告分析
我是碰撞分析领域的新手。我最近,偶然地,碰巧崩溃了谷歌浏览器。我不知道坠机真正发生的原因。不过我想深入了解一下。
当崩溃发生时,会生成一个崩溃报告。我已经将该报告保存在我系统上的一个文本文件中,因为我一开始不知道如何处理它。
现在我听到信息安全领域的人们谈论诸如分析和逆转故障转储、模糊故障转储等以及尝试重现崩溃之类的事情。
我有兴趣了解这些事情是如何完成的,以及它们实际上是什么。我需要帮助我了解如何分析和重现崩溃等资源的帮助。我碰巧遇到:-Chrome:发现崩溃,这是一个安全漏洞吗?在 Linux 上对通过模糊测试发现的崩溃进行分类的最佳方法?但是这些资源似乎有点先进,而且不是很基础。谷歌搜索也给了我一些关于如何在 Windows 中分析 BSOD 的资源,但我找不到任何与 Google Chrome 崩溃分析相关的东西。
请帮助提供一些我可以理解这些概念的好资源。
我的平台是 Mac OSX 10.9.2,我的 Google Chrome 是版本 35.0.1916.153。