목록보안 기술 (54)
앵하니의 더 나은 보안
진단 웹 사이트 중에, CORS origin이 *로 설정 돼 있어서 XMLHttpRequest 객체로 토큰 값을 가져올 순 없는지 확인했음 결론은 실패했는데, JWT 값이 웹의 세션 스토리지에 저장되기 때문이라고 함쿠키로 저장되면 탈취할 수 있는데세션 스토리지에 저장되는거 보니까 안되겠더라 혹시 세션/로컬 스토리지에 JWT 값이 저장되는 경우에도 CSRF가 가능하다면 도움 부탁드립니당
JWT의 signature 값을 새로 생성하거나 알고리즘 값을 변경해 JWT 검증을 우회해보고자 한다. JWT 토큰 검증 우회로 시도해볼 기법은 총 7가지 signature 검증 부재 alg 값으로 none 설정 (CVE-2015-9235) alg 값 수정 HS256 > RS256 (CVE-2016-5431/CVE-2016-10555) JKW Injection (CVE-2018-0114) JKU Spoofing kid injection CVE-2022-23529 signature 검증 부재 JWT 토큰 payload와 signature 값을 대조하지 않는 실수를 하는 개발자도 있다고 해서 payload 값(userId 95 > 96, 기타 인증 관련 값) 임의 변경 시도 alg 값으로 none 설정 al..
보호되어 있는 글입니다.
CSRF 취약점이 XSS 취약점의 연장선이라 생각했던 과거를 반성하며 글을 작성한다. CSRF 취약점의 시연을 보통 XSS 취약점과 연계하기 때문에 'CSRF는 XSS 취약점의 연장선이다.'라고 생각했다. 근데 XSS 취약점을 이용해서 CSRF가 가능하다는 것이지, XSS 취약점이 존재해야만 CSRF 취약점이 존재한다는 건 아니다. CSRF (Cross Site Request Forgery) CSRF는 victim이 해커의 스크립트 또는 링크한 URL에 노출된 경우, victim의 의사와는 무관하게 행위를 유발하는 공격을 뜻한다. 사소하게 해커 본인의 게시글 추천부터 타사용자의 게시글 등록 또는 패스워드 변경까지 시나리오로 다양하게 사용할 수 있다. CSRF 발생 가능성 웹 진단을 수행하는 웹 서비스 A..