보안/WEB HACKING
-
dreamhack stage 4 - ClientSide:XXS보안/WEB HACKING 2024. 3. 15. 00:23
Stage 4 Cross-Stie-Scripting (XSS) ClientSide: XSS 0. 서론 클라이언트 사이드 취약점: 웹 페이지의 이용자를 대상으로 공격할 수 있는 것 Cross Site Scripting (XSS)에 대해 알아볼 예정이다. 1. XSS - 클라이언트 사이드 취약점 - 실행 방법: 공격자가 웹 리소스에 악성 스크립트 삽입 -> 이영자의 웹 브라우저에서 스크립트 실행 - 실행 결과: 특정 계정의 세션 정보 탈취, 기능 수행 가능 - SOP 보안 정책 등장 이후 XSS가 어려워졌으나 지속되는 중 XSS 발생 종류 발생 형태에 따라서 종류가 구분된다. XSS 발생 예시 클라이언트가 HTTP 형식으로 웹 서버에 리소스를 요청하면 웹 리소스 시각화 후 보여준다. 이..
-
드림핵 웹해킹 stage 3-cookie&session보안/WEB HACKING 2024. 3. 14. 23:17
STAGE 3 Cookie&Session Background: Cookie&Session 0. 서론 웹 서버는 클라이언트와 HTTP 프로토콜을 사용해 통신한다. 손님 계정과 관리자 계정으로 각각 로그인했을 떄 서로 다른 결과를 제공한다. HTTP 프로토콜로 웹 서버와 통신할 때는 메소드와 URL 등이 포함되어 있다. 그리고 헤더를 통해서 웹 서버에게 요청을 보내고 웹 서버는 헤더를 읽고 클라이언트에게 결과 값을 반환한다. 헤더에는 클라이언트의 정보와 요청의 내용을 구체화하는 데이터가 포함되어있는데 클라이언트의 인증 정보가 포함될 수 있다. 1. 쿠키(Cookie) : Key 와 Value로 이루어진 일종의 단위 생성 배경 클라이언트의 IP주소와 User-Agent는 고유하지 않은 정보이며 HTTP..
-
드림핵 웹해킹 stage 2-웹 브라우저보안/WEB HACKING 2024. 3. 14. 21:11
STAGE 2 웹 기본 상식 - Background: Web Browser 1. 웹 브라우저 웹은 글로벌 네트워크 위에 구현되어 있고 정해진 프로토콜을 기반으로 통신한다. 20세기에 등장한 웹 브라우저는 서버와 HTTP 통신을 대신해주고 수신한 리소스를 시각화했다. 웹 브라우저는 뛰어난 이용자 경험(User-eXperience, UX)을 제공하는 소프트웨어 중 하나이다. 이용자는 내부에서 어떤 연산이 일어나는지 전혀 모른다. 이용자가 주소창에 주소를 입력했을 때 웹 브라우저가 하는 동작 1. 웹 브라우저의 주소창에 입력된 주소를 해석한다. (URL 분석) 2. 입력된 주소에 해당하는 주소 탐색 (DNS 요청) 3. HTTP를 통해 해당 주소에 요청 4. 해당 주소의 HTTP 응답 수신 5. 리소스..
-
드림핵 웹해킹 stage 1, stage 2-웹 기본상식보안/WEB HACKING 2024. 3. 14. 20:08
STAGE 1 0. 서론 웹은 우리의 삶과 밀접한 핵심 기술 중 하나이다. 웹 기술에 대한 의존성이 높아진 만큼 웹 서비스를 안전하게 구현하고 관리하는 것이 중요하다. 강의의 목표는 웹 해킹의 기초적인 지식과 기술을 전달하는 것이다. STAGE 2 웹 기본 상식 - Background: HTTP/HTTPS 0. 서론 언어에서의 약속을 잘 지켜야 한다. 1. 인코딩 컴퓨터의 모든 데이터는 0과 1로 수겅된다, -> 인코딩 표준 - 아스키, 유니코드 - 아스키: 7비트 데이터에 대한 인코딩 표준 알파벳과 특수 문자 등을 표현할 수 있음. ex. A = 1000001 컴퓨터 개발 초기에는 문자권마다 고유의 인코딩 표준을 사용했지만 호환성 측면에서 부담이 되었고, 인코딩 호환이 되지 않는 문제가 발생..
-
XSS game 05, 06 (8주차)보안/WEB HACKING 2024. 3. 14. 18:05
XSS game 05 문제: Angular는 애플리케이션을 안전하게 개발할 때 자체 규칙을 가진 매우 인기 있는 프레임워크입니다. 그 중 하나는 Angular의 템플릿 시스템이 실행되기 전에 DOM을 수정할 때 주의해야 한다는 것입니다. 이 과제는 이것이 왜 중요한지를 보여줍니다. 목표는 응용 프로그램의 취약성을 이용하여 JavaScript alert() 함수를 실행하도록 만드는 것입니다. aa를 입력한 후 페이지 소스코드를 확인해보자. 아래에 UTM_PARAMS 가 적혀있다. UTM 파라미터 사용 : 각 유입 채널의 성과를 알아내고자 할 때 어떤 사용자가 어떤 채널로 유입되었는지에 대한 데이터를 쌓고 싶을때 링크 중간에 물음표가 나오면 물음표 앞까지가 원래 url 파라미터 종류 - utm..
-
XSS game 03, 04 (7주차)보안/WEB HACKING 2024. 3. 14. 17:02
XSS game 03 문제: 웹 사이트에서 alert 띄우기 새 창에서 cat 1, cat 2, cat 3를 차례대로 클릭하며 url 을 확인하자. cat 1 -> #1 cat 2 -> #2 cat 3 -> #3 임을 확인할 수 있다. 이제 페이지 소스 코드를 확인해보자. 파란색 부분을 보면 /static/img/cat 뒤에 있는 name 에 숫자를 어떻게 넣는지에 따라 다른 사진이 출력되는 것을 알 수 있다. .jpg 에서 3보다 큰 수 를 넣고 뒤에 onerror='alert(" ")> 를 url 에 쓴다. XSS game 04 문제: 웹 사이트에서 alert 띄우기 먼저 실행시켜보자. signed up 을 클릭하면 이 뜬다. 빈칸에 글을 입력하고 next를 클릭하면 다시 처음의 화면이..