Hacking/Web
-
Web cache poisoning 웹 캐시 포이즈닝은 해커가 웹 서버 및 캐시의 동작을 악용하여 유해한 HTTP 응답이 다른 사용자에게 전달되는 공격이다. 기본적으로 웹 캐시 포이즈닝 공격은 2단계로 진행된다. 먼저 해커는 백앤드 서버로부터 조작된 페이로드를 응답하는 방법을 알아야 한다. 성공하면 응답이 캐시에 저장되어 공격 대상자에게 전달되는지 확인해야 한다. 취약한 웹 캐시는 XSS, Javascript injection, open redirection와 같은 공격을 시도할 수 있다. Web cache poisoning research 이 취약점은 2018년 "Practical Web Cache Poisoning" 연구 논문을 통해 처음으로 대중화되었으며, 2020년에 "Web Cache Entan..
Web cache poisoningWeb cache poisoning 웹 캐시 포이즈닝은 해커가 웹 서버 및 캐시의 동작을 악용하여 유해한 HTTP 응답이 다른 사용자에게 전달되는 공격이다. 기본적으로 웹 캐시 포이즈닝 공격은 2단계로 진행된다. 먼저 해커는 백앤드 서버로부터 조작된 페이로드를 응답하는 방법을 알아야 한다. 성공하면 응답이 캐시에 저장되어 공격 대상자에게 전달되는지 확인해야 한다. 취약한 웹 캐시는 XSS, Javascript injection, open redirection와 같은 공격을 시도할 수 있다. Web cache poisoning research 이 취약점은 2018년 "Practical Web Cache Poisoning" 연구 논문을 통해 처음으로 대중화되었으며, 2020년에 "Web Cache Entan..
2023.05.14 -
JWT(JSON Web Token) 시스템 간에 암호화된 JSON 데이터를 전송하기 위한 표준 형이다. 이론적으로 JWT는 모든 종류의 데이터를 포함할 수 있지만 인증, 세션처리 및 액세스 제어 메커니즘으로 인하여 일반적으로 사용자의 정보를 보내는 데 사용된다. 서버에 필요한 모든 데이터는 JWT 자체 내에 클라이언트에 저장된다. 따라서 JWT는 사용자가 여러 백엔드 서버와 원할하게 상호작용해야 하는 고도로 분산된 웹 사이트에서 사용된다. JWT Format JWT는 header, payload, signature 3가지 파트로 구성되어 있다. eyJraWQiOiI5MTM2ZGRiMy1jYjBhLTRhMTktYTA3ZS1lYWRmNWE0NGM4YjUiLCJhbGciOiJSUzI1NiJ9.eyJpc3MiO..
JWT AttacksJWT(JSON Web Token) 시스템 간에 암호화된 JSON 데이터를 전송하기 위한 표준 형이다. 이론적으로 JWT는 모든 종류의 데이터를 포함할 수 있지만 인증, 세션처리 및 액세스 제어 메커니즘으로 인하여 일반적으로 사용자의 정보를 보내는 데 사용된다. 서버에 필요한 모든 데이터는 JWT 자체 내에 클라이언트에 저장된다. 따라서 JWT는 사용자가 여러 백엔드 서버와 원할하게 상호작용해야 하는 고도로 분산된 웹 사이트에서 사용된다. JWT Format JWT는 header, payload, signature 3가지 파트로 구성되어 있다. eyJraWQiOiI5MTM2ZGRiMy1jYjBhLTRhMTktYTA3ZS1lYWRmNWE0NGM4YjUiLCJhbGciOiJSUzI1NiJ9.eyJpc3MiO..
2023.05.02 -
Clickjacking 사용자가 사이트의 콘텐츠를 클릭할 때 악성 사이트의 콘텐츠를 클릭하게 되는 인터페이스 기반 공격이다. 한 예로 버튼을 클릭하면 돈을 주는 사이트가 있다고 가정해 보자. 사용자는 돈을 받기 위해 버튼을 클릭했는데 자신도 모르는 사이에 다른 계좌가 돈을 받았다. 이렇게 정상적인 사이트인척 속여서 사용자도 모르게 다른 행동을 취하는 공격이 클릭재킹이다. 클릭 재킹은 iframe 내 버튼이나 겨진 링크가 포함된 웹 사이트의 기능에 따라 공격이 달라진다. CSRF와 다른점은 CSRF의 공격 같은 경우는 사용자의 input 없이 전체 요청을 위조하지만 클릭재킹 같은 경우 사용자의 input이 있어야만 공격이 가능하다. Clickjacking은 기본적으로 CSS를 조작하여 레이어를 만든다. 대..
Click jackingClickjacking 사용자가 사이트의 콘텐츠를 클릭할 때 악성 사이트의 콘텐츠를 클릭하게 되는 인터페이스 기반 공격이다. 한 예로 버튼을 클릭하면 돈을 주는 사이트가 있다고 가정해 보자. 사용자는 돈을 받기 위해 버튼을 클릭했는데 자신도 모르는 사이에 다른 계좌가 돈을 받았다. 이렇게 정상적인 사이트인척 속여서 사용자도 모르게 다른 행동을 취하는 공격이 클릭재킹이다. 클릭 재킹은 iframe 내 버튼이나 겨진 링크가 포함된 웹 사이트의 기능에 따라 공격이 달라진다. CSRF와 다른점은 CSRF의 공격 같은 경우는 사용자의 input 없이 전체 요청을 위조하지만 클릭재킹 같은 경우 사용자의 input이 있어야만 공격이 가능하다. Clickjacking은 기본적으로 CSS를 조작하여 레이어를 만든다. 대..
2023.04.25 -
Directory Traversal 공격자가 응용 프로그램을 실행 중인 서버에서 임의의 파일을 읽을 수 있도록 허용하는 웹 보안 취약점이다. directory traversal공격을 통하여 애플리케이션 코드 및 데이터, 백앤드 시스템의 자격 증명 및 중요한 파일을 읽거나 접근할 수 있다. 또한 임의 파일에 쓰면서 데이터를 수정하여 서버를 제어할 수 있다. Background 절대경로: / -> 최상위 디렉터리를 기준으로 찾음 상대경로:./ -> 현재 디렉터리를 기준으로 찾음 상위 경로이동: ../ -> 현재 디렉터리의 상위 디렉터리로 이동 example loadImage url은 filename 매개변수를 사용하여 지정된 파일의 내용을 가져온다. 이미지 파일은 /var/www/images에 저장된다. 이..
Directory TraversalDirectory Traversal 공격자가 응용 프로그램을 실행 중인 서버에서 임의의 파일을 읽을 수 있도록 허용하는 웹 보안 취약점이다. directory traversal공격을 통하여 애플리케이션 코드 및 데이터, 백앤드 시스템의 자격 증명 및 중요한 파일을 읽거나 접근할 수 있다. 또한 임의 파일에 쓰면서 데이터를 수정하여 서버를 제어할 수 있다. Background 절대경로: / -> 최상위 디렉터리를 기준으로 찾음 상대경로:./ -> 현재 디렉터리를 기준으로 찾음 상위 경로이동: ../ -> 현재 디렉터리의 상위 디렉터리로 이동 example loadImage url은 filename 매개변수를 사용하여 지정된 파일의 내용을 가져온다. 이미지 파일은 /var/www/images에 저장된다. 이..
2023.04.22 -
안뇽 안뇽~~ 이번에 문제를 풀면서 새로 알게 된 공격 기법이 있어서 정리할 겸 가져와봤어 DNS Rebinding Attack 이 공격은 도메인 이름의 확인을 조작하는 방법이야. 보통 악의적인 공격을 막기 위해서 도메인의 이름을 확인하고, dns로 해당 도메인의 IP를 확인해 그러고 나서 해당 URL로 접속한단 말이야?? 그런데 도메인의 ip를 확인하는 로직과 URL로 접속하는 로직의 요청 간 차이 때문에 악의적인 공격을 할 수가 있어 글로 하니까 잘 안와닿지?? 내가 로컬에서 환경을 구축해서 보여줄게 여기 해당 공격의 flow야. 간단하게 DNS rebinding Test를 구축해 봤어 // index.js const express = require('express'); const path = req..
DNS Rebinding Attack안뇽 안뇽~~ 이번에 문제를 풀면서 새로 알게 된 공격 기법이 있어서 정리할 겸 가져와봤어 DNS Rebinding Attack 이 공격은 도메인 이름의 확인을 조작하는 방법이야. 보통 악의적인 공격을 막기 위해서 도메인의 이름을 확인하고, dns로 해당 도메인의 IP를 확인해 그러고 나서 해당 URL로 접속한단 말이야?? 그런데 도메인의 ip를 확인하는 로직과 URL로 접속하는 로직의 요청 간 차이 때문에 악의적인 공격을 할 수가 있어 글로 하니까 잘 안와닿지?? 내가 로컬에서 환경을 구축해서 보여줄게 여기 해당 공격의 flow야. 간단하게 DNS rebinding Test를 구축해 봤어 // index.js const express = require('express'); const path = req..
2023.04.16 -
저번에 So easy easy~~~ 하게 Web 기본 지식에 대해 배웠징?? 이번에는 우리 같이 보안정책을 보고 갈까?? 첫 번째!! 하기전에.... Cookie는 browser에서 보관하지?? 그리고 Client가 Web 서비스에 접속할 때, browser는 해당 Web 서비스에서 사용하는 인증 정보를 HTTP에 포함시켜 전달해 그래서 이러한 Web의 특징 때문에 악의적인 페이지가 공격 페이지의 HTTP 요청을 보내고 응답 정보를 획득할 수 있는 취약점이 생겨 SOP(Same Origin Policy) 동일 출처 정책이라고 불리는 SOP를 사용하여 웹의 취약점을 막을 수 있는데 일단 SOP는 브라우저 보안 메커니즘이야 그래서 Origin이 뭔데?? https://www.example.com:43561 ..
SOP와 CSP저번에 So easy easy~~~ 하게 Web 기본 지식에 대해 배웠징?? 이번에는 우리 같이 보안정책을 보고 갈까?? 첫 번째!! 하기전에.... Cookie는 browser에서 보관하지?? 그리고 Client가 Web 서비스에 접속할 때, browser는 해당 Web 서비스에서 사용하는 인증 정보를 HTTP에 포함시켜 전달해 그래서 이러한 Web의 특징 때문에 악의적인 페이지가 공격 페이지의 HTTP 요청을 보내고 응답 정보를 획득할 수 있는 취약점이 생겨 SOP(Same Origin Policy) 동일 출처 정책이라고 불리는 SOP를 사용하여 웹의 취약점을 막을 수 있는데 일단 SOP는 브라우저 보안 메커니즘이야 그래서 Origin이 뭔데?? https://www.example.com:43561 ..
2022.05.20 -
Web Hacking에 앞서 먼저 Web이 무엇인지 알고 가보자!! Web! World Wide Web은 넓은 공간이다. 어떤 공간이냐!!! 인터넷에 연결된 사용자들이 서로의 정보를 공유할 수 있는 공간이다. 그 말은 Web은 User들 간의 Data를 주고받는다는 것을 말한다. 그럼 눈치가 100단인 분들은 바로 이해했겠죠?? Web Hacking은 바로 이 Data를 탈취하고, 변경하고, 조작하는 것을 말해 (^0^) 그러면 이 Data를 어떻게 공유하는지 볼까요? Web은 HTTP라는 Protocol을 이용하여 Data를 공유 해용 위에 자료가 Web이 기본적으로 통신하는 방법이다. Web은 Client와 Server가 서로 통신을 한다. Client: 정보를 받는 이용자 Server: 정보를 제공..
Web의 기초지식Web Hacking에 앞서 먼저 Web이 무엇인지 알고 가보자!! Web! World Wide Web은 넓은 공간이다. 어떤 공간이냐!!! 인터넷에 연결된 사용자들이 서로의 정보를 공유할 수 있는 공간이다. 그 말은 Web은 User들 간의 Data를 주고받는다는 것을 말한다. 그럼 눈치가 100단인 분들은 바로 이해했겠죠?? Web Hacking은 바로 이 Data를 탈취하고, 변경하고, 조작하는 것을 말해 (^0^) 그러면 이 Data를 어떻게 공유하는지 볼까요? Web은 HTTP라는 Protocol을 이용하여 Data를 공유 해용 위에 자료가 Web이 기본적으로 통신하는 방법이다. Web은 Client와 Server가 서로 통신을 한다. Client: 정보를 받는 이용자 Server: 정보를 제공..
2022.03.25