웹 보안 20

Dreamhack 워게임(csrf-2)

서버 생성 화면 파일을 다운받아서 코드를 분석해본다. •코드 분석 - 각각의 엔드포인트는 어떤 기능을 하고 있는가? → “/“ : 인덱스 페이지. please login 또는 로그인 상태 또는 플래그 출력. → “/vuln” : XSS에 쓰이는 명령어를 필터링. 요청값을 그대로 return. *취약점 → “/flag” : GET - URL입력 폼. | POST - admin에 해당하는 session_id 저장 → “/login” : GET - 로그인 폼. | POST - username, password 입력값으로 로그인. → “/change_password” : session에 저장된 이용자의 패스워드(pw) 변경. 비밀 번호를 몰라서 admin 계정으로 로그인 할 수 없음. change_passwor..

웹 보안 2024.03.25

Dreamhack 워게임(XXS-2)

문제 설명 여러 기능과 입력받은 URL을 확인하는 봇이 구현된 서비스입니다. XSS 취약점을 이용해 플래그를 획득하세요. 플래그는 flag.txt, FLAG 변수에 있습니다. 플래그 형식은 DH{...} 입니다. xxs-1 워게임을 생각하고 형식을 살짝 고쳐서 풀면 된다. Hint 1. 태그를 쓰지 않고 자바스크립트 코드를 실행시킬 수 있는 방법을 찾는다. 2. 태그를 활용하여 자바스크립트 코드를 실행 3. >> xss-1 워게임에서 document.cookie 명령어를 활용하여 /memo 페이지에 쿠기값 노출시킨 것처럼 2에서도 동일하게 이용 입력해주고 memo 창에 들어가면 flag가 도출된 것을 확인 할 수 있다.

웹 보안 2024.03.25

Dreamhack 워게임(XXS -1)

문제 설명 여러 기능과 입력받은 URL을 확인하는 봇이 구현된 서비스입니다. XSS 취약점을 이용해 플래그를 획득하세요. 플래그는 flag.txt, FLAG 변수에 있습니다. 플래그 형식은 DH{...} 입니다. 서버 생성 후 flag 창에 들어가면 아래와 같다. = 뒤에 들어갈 내용이다. 는 스크립트 시작과 끝을 알려주는 스크립트 태그이고 location.href : 해당 페이지로 이동하는 자바 스크립트 memo?memo: 메모 창으로 이동 / 그렇기에 이 내용을 채우고 명령어 창으로 이동하면 flag가 도출된 것을 확인할 수 있음 document.cookie : 브라우저에서도 쿠키로 접근 가능 memo 창에 들어가면 아래와 같이 플래그가 도출 되어 있는 것을 확인 할 수 있다.

웹 보안 2024.03.25

SOP 개념 & 실습

웹 서비스에 접속 할 때, 브라우저는 해당 웹 서비스에서 사용하는 쿠키를 HTTP 요청에 포함시켜서 전달 쿠키에는 인증상태를 나타내는 정보가 보관되며, 브라우저 내부에 저장됨. > 브라우저가 웹 서비스에 접속할 때 브라우저는 자동으로 쿠키를 헤더에 포함시켜 요청을 보냄 > so 한번 로그인한 후 일정 기간 동안 로그인 없이 바로 서비스 사용이 가능 > 이것을 악의적으로 이용할 수 있음 > 동일 출처 정책 보안 메커니즘 탄생 SOP(Same Origin Policy) SOP의 Origin 구분 방법 오리진: 프로토콜(protocol,scheme), 포트(port), 호스트(host)로 구성. 모두 일치해야 동일한 오리진 ex) https://s-o.com/ scheme: "https:" == "https:..

웹 보안 2024.03.19

Background: HTTP

인코딩 표준 아스키(Ascii) 7비트 데이터에 대한 인코딩 표준, 인코딩 호환 문제 발생 유니코드(Unicode) 한 문자가 최대 32개의 비트로 표현됨 , 2의 32제곱(=42억) 통신 프로토콜 프로토콜 : 규격화된 상호작용에 적용되는 약속 문법(syntax) - 문법에 어긋나는 메세지는 오류처리 TCP/IP HTTP FTP HTTP (Hyper Text Transfer Protocol) : 서버와 클라이언트의 데이터 교환을 요청과 응답 형식으로 정의한 프로토콜 클라이언트가 서버에 요청하면 서버가 응답 웹 서버는 HTTP서버를 HTTP 서비스 포트에 대기 시킴(TCP/80 or TCP/8080) 네트워크 포트 네트워크에서 서버와 클라이언트가 정보를 교환하는 추상화된 장소 서비스 포트 네트워크 포트 중..

웹 보안 2024.03.15

Dreamhack 워게임(session-basic)

문제 쿠키와 세션으로 인증 상태를 관리하는 간단한 로그인 서비스입니다. admin 계정으로 로그인에 성공하면 플래그를 획득할 수 있습니다. 플래그 형식은 DH{...} 입니다. 1. 문제 파일 다운 후 압축 해제 2. 서버 생성 후 접 3. 문제 파일 코드 확인 4. 홈페이지주소/admin으로 이동 5. admin 세션 값을 얻어서 cookie 창의 session id에 얻은 값을 복붙한다. 6. 새로 서버에 들어가면 flag 코드가 나옴 간단 풀이 /admin 을 했을 때 session값을 얻을 수 있음을 코드에서 확인하고 홈페이지 주소 뒤에 /admin 입력 답 DH{8f3d86d1134c26fedf7c4c3ecd563aae3da98d5c}

웹 보안 2024.03.14

Dreamhack 워게임 (cookie)

문제 설명 쿠키로 인증 상태를 관리하는 간단한 로그인 서비스입니다. admin 계정으로 로그인에 성공하면 플래그를 획득할 수 있습니다. 플래그 형식은 DH{...} 입니다. 1. 문제 파일 받고 압축 풀기 2. 서버 생성하기 3. 서버 접속 4. Login 접속 5. 문제 파일을 들어가면 11번째 줄에 user정보가 나옴 6. user 정보에 맞게 username, password 모두에 guest 입력해서 로그인 7. 개발자창에 들어가면 username이 guest로 설정되어 있는 것을 볼 수 있다. 이것을 admin으로 고쳐주면 된다. 8. 간단 풀이 login 해주고 cookie 정보에 guest를 admin으로 바꿔주면 flag 등장 답 DH{7952074b69ee388ab45432737f9b0c..

웹 보안 2024.03.14

Dreamhack 워게임 (devtools-sources)

문제 개발자 도구의 Sources 탭 기능을 활용해 플래그를 찾아보세요. 플래그 형식은 DH{...} 입니다. 문제 파일을 풀고 압축도 풀어준다. Chrome HTML 형식 문서 중 하나를 열어준다. (about 창을 열어줌) 화면에서 개발자창을 열어준다. (F12키 사용) 검색창을 열어준다.( ctrl+shift+f ) 검색창에 DH를 검색한다. (플래그 형식인 DH 검색) 답 DH{2ed07940b6fd9b0731ef698a5f0c065be9398f7fa00f03ed9da586c3ed1d54d5}

웹 보안 2024.03.14

Backgroud : Web

웹 : HTTP를 이용하여 정보를 공유하는 서비스 Web Server: 정보를 제공하는 주체 Web Client: 정보를 받는 이용자 Front-end: 이용자의 요청을 받는 보여지는 부분, Web Resource로 구성 Back-end: 이용자의 요청을 처리하는 부분 웹 리소스 - 모든 웹 리소스는 고유의 URI(Uniform Resource Identifier) 를 가짐. HTML(Hyper Text Markup Language) : 문서의 기본 CSS(Cascading Style Sheets) : 생김새 JavaScript : 동작 구현 Web Server & Web Client 통신 이용자가 브라우저를 이용하여 웹 서버 접속 - client 브라우저는 이용자의 요청을 해석하여 HTTP 형식으로 웹..

웹 보안 2024.03.14