============================
适用于 Burp Suite Enterprise Edition
请注意,扩展由 Burp 的第三方用户编写,PortSwigger 不对其质量或对任何特定用途的适用性提供任何保证。
Extensions > Installed > AddSettings > Search > SessionsSession handling rules 下,转到 Add > Rule actions > Add > Invoke a Burp extension,从下拉列表中选择 TOTP Authenticate,然后点击 OKScope 选项卡,确保勾选 Tools scope > Scanner 复选框OKExtensions > Installed 并重新加载扩展(取消勾选 TOTP Authenticate 的“Loaded”复选框,然后再次点击勾选)Session handling rules > Cog button > Save settings 导出会话处理规则
/^^secretKey:BASE32,ruleType:TYPE,parameterName:NAME_OF_PARAMETER_VALUE_OR_BASE64_ENCODED_REGEX^^/
/^^ 表示规则开始的分隔符secretKey: 采用 BASE32 编码的 OTP 种子ruleType: 描述应用规则的位置parameterName:
ruleType 为 BODY_REGEX 的情况,它是 BASE64 编码的正则表达式,用于定义需要更新的位置ruleType 为 HEADER、URL、COOKIE 或 BODY_PARAM 的情况,它是要添加或更新的键:值对的字面名称^^/ 表示规则结束的分隔符HEADERURLCOOKIEBODY_PARAMBODY_REGEX以下示例使用正则表达式 .*\"AdditionalAuthData\":\"(\d*)\".* 作为其 parameterName,以标识匹配表达式并将 (\d*) 替换为生成的 OTP 滚动码
/^^secretKey:EQZWG4RTORIDIJBE,ruleType:BODY_REGEX,parameterName:LipcIkFkZGl0aW9uYWxBdXRoRGF0YVwiOlwiKFxkKilcIi4q^^/
以下示例添加或替换名为 TEST 的请求头,其值为生成的 OTP 滚动码
/^^secretKey:EQZWG4RTORIDIJBE,ruleType:HEADER,parameterName:TEST^^/
{
"project_options":{
"sessions":{
"session_handling_rules":{
"rules":[
{
"actions":[
{
"action_name":"TOTP Authenticate",
"enabled":true,
"type":"invoke_extension"
}
],
"description":"My OTP rule: /^^secretKey:EQZWG4RTORIDIJBE,ruleType:HEADER,parameterName:TEST^^/",
"enabled":true,
"exclude_from_scope":[],
"include_in_scope":[],
"named_params":[],
"restrict_scope_to_named_params":false,
"tools_scope":[
"Scanner"
],
"url_scope":"all",
"url_scope_advanced_mode":false
}
]
}
}
}
}
我们建议在 Burp Suite Enterprise Edition 中使用此扩展之前,先在 Burp Suite Professional/Community 中对其进行测试。
要在 Enterprise 中测试此扩展,您可以通过 Burp 配置上游代理,以确保您的令牌已正确添加。
如果使用以下配置,请确保您正在运行 Burp Suite Pro/Community 实例,并且您使用的是本地代理。
{
"project_options":{
"connections":{
"upstream_proxy":{
"servers":[
{
"auth_type":"none",
"destination_host":"*",
"proxy_host":"127.0.0.1",
"proxy_port":8080,
"enabled":true
}
],
"use_user_options":false
}
}
}
}
gradle fatJar。