我必须开发一个安全测试框架,以确保我们应用程序中的所有输出都被编码。
我有很多post &获取HTTP请求
每个请求可以有一个或多个参数
我想用JMeter做什么:
我需要通过将值更改为字符串来单独测试每个参数。如果我有两个请求,每个请求有5个参数我要跑5次。此外,我将有一个断言点来验证响应数据。
我的想法是记录所有的http请求。从JMX文件创建一个包含请求详细信息、参数&价值。遍历列表并将每个值修改为我的字符串值CANARY123!@#$%^&(。然后验证响应数据不包含CANARY123!@#$%^&(并且实际上它返回时已编码)。对每个数据行运行测试。
也认为这些可能是有用的:计数器,reg表达式,用户变量…
我应该使用JMeter来完成这个任务吗?如果有,怎么做?我应该用打嗝套件之类的东西吗?
我建议使用专门从事这类事情的安全工具——它们将检查的不仅仅是编码。Burp很好,但是免费版不包括自动扫描。
我建议你也看看OWASP ZAP: https://www.owasp.org/index.php/OWASP_Zed_Attack_Proxy_Project
我知道很多人/公司使用ZAP作为CI的自动化部分:这里有更多关于这个的信息:http://code.google.com/p/zaproxy/wiki/SecRegTests
Simon (ZAP项目负责人)
您通常可以使用CSV数据集,该数据集将包含要发送的参数,并使用它们被转义的断言进行测试。
读:
- http://jmeter.apache.org/usermanual/test_plan.html
- http://jmeter.apache.org/usermanual/component_reference.html