
Cette extension, pour Burp Suite Enterprise Edition, utilise des règles de gestion de session pour fournir un jeton TOTP aux requêtes sortantes.
Pour Burp Suite Enterprise Edition
Veuillez noter que les extensions sont écrites par des utilisateurs tiers de Burp, et PortSwigger n'offre aucune garantie quant à leur qualité ou leur utilité pour un usage particulier.
Extensions > Installed > AddSettings > Search > SessionsSession handling rules, allez dans Add > Rule actions > Add > Invoke a Burp extension, sélectionnez TOTP Authenticate dans la liste déroulante disponible et cliquez sur OKScope, en vous assurant que la case Tools scope > Scanner est cochéeOKExtensions > Installed et rechargez l'extension (décochez la case "Loaded" de TOTP Authenticate, puis cochez-la à nouveau)Session handling rules > Cog button > Save settings
/^^secretKey:BASE32,ruleType:TYPE,parameterName:NAME_OF_PARAMETER_VALUE_OR_BASE64_ENCODED_REGEX^^/
/^^ délimiteur indiquant le début de la règlesecretKey: la clé secrète OTP encodée en BASE32ruleType: décrit où appliquer la règleparameterName:
ruleType BODY_REGEX, c'est l'expression régulière encodée en BASE64 qui définit l'endroit où mettre à jourruleType HEADER, URL, COOKIE ou BODY_PARAM, c'est le nom littéral de la paire clé:valeur à ajouter ou à mettre à jour^^/ délimiteur indiquant la fin de la règleHEADERURLCOOKIEBODY_PARAMBODY_REGEXL'exemple suivant fournit l'expression régulière .*\"AdditionalAuthData\":\"(\d*)\".* comme parameterName pour identifier l'expression correspondante et remplacer (\d*) par le code OTP généré
/^^secretKey:EQZWG4RTORIDIJBE,ruleType:BODY_REGEX,parameterName:LipcIkFkZGl0aW9uYWxBdXRoRGF0YVwiOlwiKFxkKilcIi4q^^/
L'exemple suivant ajoute ou remplace un en-tête nommé TEST avec la valeur du code OTP généré
/^^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
}
]
}
}
}
}
Nous recommandons de tester cette extension dans Burp Suite Professional/Community avant de l'utiliser dans Burp Suite Enterprise Edition.
Pour tester cette extension dans Enterprise, vous pouvez configurer un proxy amont via Burp pour vous assurer que votre jeton a bien été ajouté.
Si vous utilisez la configuration suivante, assurez-vous qu'une instance de Burp Suite Pro/Community est en cours d'exécution et que vous utilisez un agent local.
{
"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 depuis le répertoire d'installation à l'aide de la ligne de commande.