
이 확장 기능은 Burp Suite Enterprise Edition용으로, 세션 처리 규칙을 활용하여 나가는 요청에 TOTP 토큰을 제공합니다.
Burp Suite Enterprise Edition용
참고: 확장 프로그램은 Burp의 타사 사용자가 작성한 것이며, PortSwigger는 특정 목적에 대한 그 품질이나 유용성에 대해 어떠한 보증도 하지 않습니다.
Extensions > Installed > Add에 확장 프로그램을 로드합니다.Settings > Search > Sessions로 이동합니다.Session handling rules 아래에서 Add > Rule actions > Add > Invoke a Burp extension으로 이동하고, 드롭다운 목록에서 TOTP Authenticate를 선택한 다음 OK를 클릭합니다.Scope 탭으로 이동하여 Tools scope > Scanner 상자가 선택되어 있는지 확인합니다.OK를 클릭합니다.Extensions > 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인 경우에는 추가하거나 업데이트할 key:value 쌍의 리터럴 이름입니다.^^/ 규칙의 끝을 알리는 구분 기호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를 실행하세요.