728x90 반응형 웹 해킹/개념 노트장4 DOM Clobbering [DOM Clobbering 이란?]DOM Clobbering은 HTML 요소의 `id`나 `name`이 전역 변수 혹은 함수와 동일한 이름을 가질 때 발생하는 취약점이다. 자바스크립트에서 전역 변수로 사용하려던 이름이 DOM 요소에 의해 "덮어씌워져(clobbered)" 버리는 현상이다. [DOM 이란?]DOM (Document Object Model)은 웹 페이지를 구조화하여, 각 요소를 객체(Object) 형태로 표현한 인터페이스(Model)이다. 쉽게 말해, 웹 페이지의 각 요소(텍스트, 이미지 등)를 자바스크립트로 제어하기 위해 브라우저가 내부적으로 만들어 두는 것들이다. Hello, World! Change Text 위 코드는 `myHeading`과 `myButton` DOM 요.. 2024. 12. 30. [Tip] CodeQL 간단 사용법 간단하게 codeQL 사용법을 정리해보겠다. 세팅https://github.com/github/codeql-cli-binaries GitHub - github/codeql-cli-binaries: Binaries for the CodeQL CLIBinaries for the CodeQL CLI. Contribute to github/codeql-cli-binaries development by creating an account on GitHub.github.com여기 release 페이지에서 최신 codeql을 다운받는다. codeql 실행 파일의 환경 변수를 설정해준다. 그럼 위와 같이 다른 폴더에서도 codeql을 실행할 수 있다. https://github.com/github/codeql Git.. 2024. 12. 30. Relative Path Overwrite [Relative Path Overwrite]Relative Path Overwrite(RPO)는 주로 서버와 브라우저가 상대 경로를 해석하는 과정에서 발생하는 차이점을 이용하는 공격이다. url rewrite 기능을 사용하면 웹 어플리케이션 스크립트명 이하의 경로를 별도로 지정해도 같은 페이지가 조회되는 경우가 존재한다. 예를 들어 `/index.php/somepath`와 같이 스크립트명 하위로 새로운 경로를 지정해도 서버는 이를 `/index.php`를 참조하도록 구현되어 있는 경우다. 만약 스크립트의 src를 상대 경로로 로드하는 경우, `/index.php/somepath`에 의해 로드 경로가 조작될 수 있다. [공격 예시]어떤 공격에 대한 방어를 위한 script 파일을 로드하는 경우가 있다. .. 2024. 12. 28. Web Cache Deception [Web Cache Deception 이란?]Web Cache Deception은 공격자가 웹서버가 캐시를 설정할 때 처리 미흡을 이용한 공격 기법이다. Web Cache Deception은 피해자가 공격자의 악성 URL을 방문하였을 때, 피해자의 응답값이 캐싱된다. 공격자가 동일한 URL을 방문할 경우 피해자의 민감한 정보가 들어있는 페이지에 접근할 수 있다. [Web Cache란?]Web Cache란, 웹 상에서 자주 요청되는 콘텐츠(HTML, CSS, JS, 이미지 등)를 브라우저, 서버에 저장해두는 메커니즘을 의미한다. 이를 통해, 동일하거나 유사한 요청이 재차 발생했을 때 Origin 서버까지 매번 요청하지 않아도 되기 때문에 속도적인 측면에서 이점이 있다. [공격 예시] location.. 2024. 12. 26. 이전 1 다음 728x90 반응형