목록웹 해킹/Broken Authentication (13)
Oh! JUN

https://hashcat.net/hashcat/ hashcat - advanced password recovery Download Name Version Date Download Signature hashcat binaries v6.2.6 2022.09.02 Download PGP hashcat sources v6.2.6 2022.09.02 Download PGP Signing key on PGP keyservers: RSA, 2048-bit. Key ID: 2048R/8A16544F. Fingerprint: A708 3322 9D04 0B41 99CC 0052 3C hashcat.net 위의 링크에 들어가서 binaries 파일을 다운로드 받았습니다. C:/hashcat 위치에 설치했습니다. cmd..

해당 문제는 [Payload]의 'username' 을 'WebGoat'로 변경시켜서 JWT를 제출해야합니다. 사전에[Header]에서 알고리즘이 'none'이 아니면 JWT는 [Header/Payload]값을 base64 인코딩 시키고 '비밀키'를 사용하여 암호화된 값을 [Signature]라고 했습니다. [Payload]의 'username'을 변경시키면 '비밀키'와 [Header/Payload]의 암호화 과정에서 다른 [Signature]값이 나와 무결성을 해치기 때문에 정상적으로 제출할 수 없습니다. 따라서 공격자가 '비밀키'를 알고 있다면 'username'을 변경시켜도 무결성을 해치지 않습니다. HashCat 설치하기 https://hashcat.net/hashcat/ hashcat - adv..

'Extensions'에서 'json web token attack' 입력 후 install 'JWS' 가 추가된걸 확인할 수 있습니다. /Header/Payload/Signature/ 확인가능!!

1. 소개 JWT는 "JSON Web Token"의 약자입니다. JWT는 웹 애플리케이션에서 사용자 인증과 데이터 교환을 안전하게 처리하기 위한 토큰 기반의 인증 방식입니다. 2. JWT 구조 JWT의 구조는 [Header/Payload/Signature]로 이루어져 있습니다. eyJhbGciOiJIUzUxMiJ9.eyJpYXQiOjE3MDIzNjgzMTAsImFkbWluIjoiZmFsc2UiLCJ1c2VyIjoiVG9tIn0.m_74cuSfyFajvY5x6E-l3lSCNmNJDTbiS1lXZ6tR_Iy2WoLvSGiMYH_AhZMBxc849XlCuJeC37a2jegSabLPvA Header 토큰 유형과 해쉬 알고리즘 등 정보 포함( eyJhbGciOiJIUzUxMiJ9 ) Payload 토큰에 저장될 ..

1. 사례 paytal에서 발생했던 인증 우회 예시입니다. 클라이언트가 SMS를 통해서 코드를 받을 수 없었기 때문에 보안 질문 대체 방법을 사용해서 획득할려고 했습니다. 2. 시나리오 패스워드 재설정을 하기 위해 "좋아하는 선생님"과 "살아온 거리 이름" 두 가지 질문에 대답을 해야합니다. 3. 공격방법 '선생님(SecQuestion0)'과 '거리(secQuestion1)' 질문에 대답한 답변은 3자인 입장에서 저희는 모르니까 당연히 틀릴 수 밖에 없습니다. secQuestion0와 secQuestion1 파라미터를 secQuestion2와 secQuestion3로 변경하니까 성공적으로 인증 우회한것을 확인할 수 있습니다. 4. 소스코드 분석 //AccountVerificationHelper.java ..