web 31

URL Globbing

1. URL Globbing?비슷한 형태의 여러 URL을 한 번에 표현하는 방법이다.*, ?, {} 같은 기호로 표현한다.https://example.com/page1 https://example.com/page2 https://example.com/page3이 대신 아래와 같이 쓸 수 있다.https://example.com/page[1-3]2. 왜 필요한가?비슷한 구조의 여러 파일을 한 번에 요청하고 싶을 때연속된 번호의 API 엔드포인트나 페이지를 테스트할 때반복 작업을 줄이고 자동화할 때3. 패턴1) 범위 지정https://example.com/file[1-5].txt↓ ↓https://example.com/file1.txthttps://example.com/file2.txt https://e..

Web 2026.03.20

DOM Clobbering

1. DOM Clobbering?DOM Clobbering은 HTML 요소가 자바스크립트에서 사용하려던 변수나 객체 자리를 대신 차지하는 현상이다.이 문장만 보면 조금 추상적으로 느껴질 수 있다. 쉽게 말하면, 개발자는 분명히 “이 이름은 내가 코드에서 만든 값”이라고 생각했는데, 실제로는 브라우저가 같은 이름을 가진 HTML 요소를 대신 보여줘서 자바스크립트가 엉뚱한 대상을 참조하게 되는 문제다.이 공격은 자바스크립트를 직접 넣지 않아도, 단지 HTML 요소의 id나 name 같은 속성을 잘 이용하는 것만으로도 발생할 수 있다.즉, DOM Clobbering은 “스크립트를 실행시키는 공격”이라기보다,브라우저가 HTML 요소를 다루는 방식과 자바스크립트가 값을 참조하는 방식 사이의 틈을 이용하는 공격이라..

Web 2026.03.13

RPO(Relative Path Overwrite)

1. RPO?Ralative Path Overwrite, 말 그대로 상대경로를 덮어쓰는 기법이다.웹 페이지가 CSS나 JS 같은 리소스를 상대경로로 불러올 때, 사용자가 접근한 URL 형태에 따라 브라우저가 그 상대경로를 원래 의도와 다르게 해석하게 만드는 방식이다. 예를 들어 페이지에서 아래처럼 리소스를 불러온다고 하자. 개발자는 현재 문서 기준으로 config.js, style.css가 로드될 것 이라고 생각한다.하지만 사용자가 페이지를 여는 URL이 예상과 다르면, 브라우저는 이 상대경로를 다른 위치로 계산할 수 있다.즉, RPO는 서버가 아니라 브라우저의 상대경로 해석 방식을 이용하는 기법이라고 보면 된다. 2. 왜 발생하는가?- 문서가 리소스를 상대경로로 불러옴- 서버가 비정상적인 경로도 같은..

Web 2026.03.13