최신 main pull

This commit is contained in:
tk 2025-06-12 21:50:46 +09:00
commit 2bfe057889
6 changed files with 431 additions and 5 deletions

View file

@ -5,6 +5,8 @@ from ScopeDetection import ScopeDetection
from csrf_check import CsrfChecker
from nonce_check import NonceChecker
from cleintsecret_check import ClientSecretChecker
from redirect_uri_check import RedirectBypassChecker
from access_token import AccessTokenScanner
class PKCEAddon:
def __init__(self):
@ -57,7 +59,9 @@ class NonceAddon:
async def response(self, flow: http.HTTPFlow):
try:
await self.checker.response(flow)
pass
# TODO id_token을 파싱하는 부분이 누락되어있습니다.
# await self.checker.check_nonce_in_id_token(flow)
except Exception as e:
print(f"[ERROR] NonceAddon failed: {e}")
pass
@ -78,6 +82,28 @@ class ClientSecretAddon:
self.checker.response(flow)
except Exception as e:
print(f"[ERROR] ClientSecretAddon response failed: {e}")
pass
class AccessTokenAddon:
def __init__(self):
self.checker = AccessTokenScanner()
async def response(self, flow: http.HTTPFlow):
try:
await self.checker.scan(flow)
except Exception as e:
print(f"[ERROR] AccessToken Addon failed: {e}")
pass
addons = [PKCEAddon(), ScopeAddon(), CsrfAddon(), NonceAddon(), ClientSecretAddon()]
class RedirectBypassAddon:
def __init__(self):
self.checker = RedirectBypassChecker()
# request 대신 response 로 바꿔 보세요:
async def response(self, flow: http.HTTPFlow):
try:
await self.checker.test(flow)
except Exception as e:
print(f"[ERROR] RedirectBypass Addon failed: {e}")
addons = [PKCEAddon(), ScopeAddon(), CsrfAddon(), NonceAddon(), ClientSecretAddon(), AccessTokenAddon(), RedirectBypassAddon()]