가이드

Cookie

Cookie 탭은 프레임워크가 서명한 세션 쿠키를 위한 워크벤치입니다 — Flask(itsdangerous), Rack, Django. 쿠키를 파트로 디코드하고, 후보 서명 secret을 검증하거나 워드리스트로 브루트포스한 뒤, 세션을 편집해 재서명합니다. 파트를 보여주기만 하는 Decoder의 읽기 전용 cookie-decode / flask-decode / rack-decode / django-decode 컨버터보다 한 걸음 더 나아갑니다.

어디서든(예: History 상세 패널, Notes 등) 쿠키를 선택하고 SpaceSend to Cookie를 누르면 그 쿠키로 새 워크벤치 서브탭을 채웁니다. 세션은 휘발성이라 디스크에는 아무것도 기록되지 않습니다. 탭을 숨겼다면 탭 바의 메뉴, 커맨드 팔레트(Ctrl-PGo to Cookie), 또는 Preferences에서 다시 드러내세요.

두 개의 렌즈

하나의 세션, 두 개의 뷰이며 Ctrl-T로 전환합니다. 각 렌즈의 최상위 카드 테두리에 전환 칩이 있습니다 — INPUT에는 ^T:→FORGE, PAYLOAD에는 ^T:→DECODE — 클릭해도 키와 똑같이 동작합니다:

l을 누르면 현재 Decode 쪽에서 디코드된 payload를 Forge 편집기로 불러옵니다. 그래서 값 하나를 손보고 두 동작만으로 재서명할 수 있습니다. 결과는 y로(위조된 쿠키는 t로) 복사하세요.

디코드는 하지만 검증은 하지 않는 JWT 탭과 달리, Cookie에는 secret 경로가 있습니다. SECRET의 는 입력한 키가 실제로 이 쿠키를 서명한다는 뜻입니다. Forge는 지정한 secret, salt, 알고리즘으로 실제로 재서명합니다.

세 가지 포맷

포맷 형태 서명
Flask value.timestamp.signature itsdangerous HMAC(값 앞의 .는 zlib 압축 표시).
Rack base64--40자리 hex Base64-Marshal 값 + HMAC-SHA1. 값이 불투명한 바이트라 Forge는 JSON이 아니라 base64로 받습니다.
Django value:timestamp:signature django.core.signing, salt가 섞인 HMAC. 세션 쿠키는 기본이 아닌 salt로 서명합니다 — 아래 참고.

secret 크랙

SECRET 필드는 c(크랙)의 소스를 겸하므로, 별도 프롬프트가 없습니다:

성공하면 필드가 찾아낸 secret으로 바뀌고 결과가 로 뒤집혀, 그대로 Forge 렌즈로 이어갈 수 있습니다.

Django 세션 쿠키(django.contrib.sessions)는 기본이 아닌 salt로 서명되므로, 기본 salt로 크랙하면 실패합니다. 포맷이 Django로 해석되면 OPTIONSsalt:signing 배지가 나타납니다 — 이 배지를 클릭하거나(SpaceToggle Django salt) salt 필드를 django.contrib.sessions.backends.signed_cookies로 뒤집으면 verify·crack·forge가 모두 그 salt로 서명됩니다. 직접 아무 salt나 입력할 수도 있습니다. CLI의 --salt도 마찬가지입니다.

헤드리스

gori run cookie eyJ1c2Vy...                                  # 디코드 (자동 감지, 기본)
gori run cookie eyJ1c2Vy... --verify --secret s3cret         # 이 secret이 서명하는가?
gori run cookie eyJ1c2Vy... --crack --wordlist words.txt     # secret 브루트포스
gori run cookie eyJ1c2Vy... --crack --secrets a,b,s3cret     # …또는 인라인 목록
gori run cookie --forge --type flask --payload '{"admin":true}' --secret s3cret
cat cookie.txt | gori run cookie                             # stdin에서 쿠키

쿠키는 인자나 stdin에서 옵니다. 프로젝트나 캡처는 관여하지 않습니다(순수 로컬 연산). --type은 포맷을 고정하고(기본: 자동 감지), --salt--algorithm은 Django/Flask 노브를 전달하며, --formattext 또는 json입니다. Flask/Django --forge--payload JSON을, Rack은 불투명한 --value를 받습니다. CLI 레퍼런스를 참고하세요.

MCP에서는 cookie_decode / cookie_verify / cookie_crack / cookie_forge가 네트워크나 상태를 건드리지 않는 읽기 도구라, --read-only에서도 사용할 수 있습니다.

다음 단계