본문 바로가기
빌드노트 검색

빌드노트

웹 보안

웹 보안 카테고리의 글입니다.

글 검색

글 목록

총 48개의 글

  1. Node ECDH computeSecret이 상대 공개키를 거절할 때

    Node ECDH의 invalid public key는 곡선 불일치뿐 아니라 손상된 공개점과 잘못된 디코딩에서도 나타난다. 같은 길이의 공개키를 직접 비교하고, 곡선·공개점 표현·전송 인코딩을 송수신 규약에 맞춰 확인한다.

  2. 같은 HMAC 키인데 Web Crypto sign이 거절될 때

    HMAC 키를 verify 전용으로 가져오면 같은 바이트와 해시를 써도 sign은 거절된다. Node.js 22.23.2에서 용도별 결과를 비교하고, usages와 extractable을 구분해 키 공급자와 호출자의 최소 연산 계약을 정한다.

  3. Node에서 암호화된 PKCS#8 PEM을 읽을 때 passphrase가 빠졌다면

    암호화된 PKCS#8 PEM을 문자열만 넘기면 createPrivateKey에서 실패할 수 있다. 전체 PEM과 암호화 당시의 passphrase를 함께 전달하는 수정, 짧은 합성 입력 예제, 누락·오입력·정상 입력의 실제 차이를 설명한다.

  4. Web Crypto의 RSA-OAEP 암호문이 Node에서 풀리지 않을 때

    Web Crypto의 RSA-OAEP 키에 지정한 hash와 Node의 oaepHash를 맞춘다. 합성 키로 SHA-256 양방향 복호화와 SHA-1 기본값의 차이를 확인하고, label·개인 키가 달라도 같은 오류가 나므로 메시지만으로 원인을 단정하지 않는 방법을 설명한다.

  5. script-src에 허용한 주소인데 script 태그는 막힌다

    script-src에 허용한 주소라도 script-src-elem이 있으면 script 요소는 그 목록을 따른다. 7개 loopback 브라우저 비교로 지시문 우선순위와 default-src fallback을 확인하고, 실제 문서 응답에서 수정할 목록을 찾는 방법을 설명한다.

  6. innerHTML 문자열 대입이 CSP 적용 뒤 TypeError로 멈춘다

    CSP 적용 뒤 innerHTML 문자열 대입이 TypeError로 멈추는 조건을 확인한다. Chromium에서 정책 유무와 textContent 수정의 DOM·오류를 비교하고, 평문 출력과 정화된 HTML 경로를 선택하는 기준을 설명한다.

  7. 포트가 다른데 SameSite=Strict 쿠키가 전송되는 이유

    포트가 달라도 같은 site일 수 있다. 새 브라우저에서 같은 호스트의 다른 포트와 localhost 출발 요청을 비교하고, Strict·Lax 쿠키의 실제 수신 결과로 SameSite, fetch credentials, CORS를 나눠 진단한다.

  8. RSA-OAEP에서 한글 64자가 too large로 실패하는 이유

    2048비트 RSA와 SHA-256 OAEP의 평문 한도는 190바이트다. UTF-8로 바꾼 가 64개가 192바이트로 실패하는 이유와 최종 Buffer 길이 확인법을 설명한다. 189·190바이트 성공과 191·192바이트 거절을 대조하고, 큰 본문은 하이브리드 설계 검토 대상으로 구분한다.

  9. 상대 경로가 엉뚱한 서버를 가리킨다면 base 태그를 확인한다

    상대 링크의 원문이 그대로여도 base 요소가 문서의 기준 URL을 바꿀 수 있다. 두 loopback 출처의 여섯 조건에서 baseURI·절대 href·위반 이벤트를 비교하고, 같은 출처의 경로 변경도 허용하는 self와 base 설정을 막는 none의 선택 기준을 설명한다.

  10. 스크립트는 실행되는데 fetch만 CSP에 막힌다

    JS 실행 로그가 있어도 fetch 연결은 별도로 차단될 수 있다. 두 loopback origin에서 connect-src의 none·self·명시 origin과 default-src 대체 적용을 비교하고, 페이지의 CSP에서 필요한 API origin만 허용하는 판단을 설명한다.

  11. CSP를 켠 뒤 초기화 스크립트만 실행되지 않는다

    CSP 적용 뒤 inline 초기화만 멈춘다면 같은 HTML 응답의 정책과 script nonce를 비교한다. 실제 브라우저에서 누락·불일치·일치, 응답별 값 변화와 script-src-elem·Report-Only 차이를 확인하고 getAttribute의 빈 문자열을 누락으로 오인하지 않는 방법을 설명한다.

  12. 스크립트는 실행되는데 Web Worker 생성은 CSP에 막힌다

    문서 스크립트가 실행돼도 Worker는 다른 CSP 목록에 막힐 수 있다. worker-src부터 default-src까지의 fallback을 실제 메시지·위반 이벤트·서버 요청으로 비교하고, 필요한 Worker 출처만 허용하는 수정과 same-origin 실패를 구별한다.