전체 글 45

Dreamhack (web-ssrf)

문제 설명 flask로 작성된 image viewer 서비스 입니다. SSRF 취약점을 이용해 플래그를 획득하세요. 플래그는 /app/flag.txt에 있습니다. burp suite 들어가서 설정해주기 post 오른쪽 마우스 눌러서 send to intruder로 보내주고 intruder에 주황불 들어오면 넘어가서 이렇게 설정해준다. 실행시키고 다른길이가 뜰 때까지 기다리면 됨 9번에서 떠서 번호가 1508인걸 알 수 있음. 1500~1800까지 랜덤으로 나오기에 기다려서 알아내면 됨. url에 http://Localhost:8000/flag.txt 를 넣어주는데 8000번을 내가 나온 번호로 넣어주면 된다. 여기서 http://Localhost:1508/flag.txt 해서 view 넣어주고 개발자도구..

웹 보안 2024.03.28

Dreamhack 워게임(file-download-1)

문제 설명 File Download 취약점이 존재하는 웹 서비스입니다. flag.py를 다운로드 받으면 플래그를 획득할 수 있습니다. 다운로드 받은 코드를 살펴보면 read에서는 검사 안해서 파일 다운로드 공격에 취약함 ../flag.py 를 하면 코드에 find 함수로 인해서 아래와 같이 뜸 걸러진 것을 알 수 있음. 코드가 잘 작동하고 있구나~ 아무 파일이나 쳐서 다시 들어가보자. 여기서 보면 지금 read?name=flag.py 라고 되어있는데 이 부분을 고치면 flag를 얻을 수 있다. 아까 ../flag.py를 하면 find 함수로 인해서 걸려졌는데 이제 read로 시작하는 곳에서 읽는 거니까 코드에서 확인한거와 같이 ../flag.py가 실행 가능하게 된다는 것을 알 수 있다.

웹 보안 2024.03.26

Dreamhack 워게임(SQL Injection)

문제 설명 로그인 서비스입니다. SQL INJECTION 취약점을 통해 플래그를 획득하세요. 플래그는 flag.txt, FLAG 변수에 있습니다. Hint ‘-- (“--),-- 에서 더블 대쉬는 쿼리 이후의 부분을 무시하도록 한다. -> Password 입력 부분을 없애버림 userid : admin"-- "-- 더블 대쉬가 뒤에 패스워드 삭제 하는 역할을 하기 때문에 password : 1 (아무거나 입력해도 됨)

웹 보안 2024.03.25

Dreamhack 워게임(command-injection-1)

문제 특정 Host에 ping 패킷을 보내는 서비스입니다. Command Injection을 통해 플래그를 획득하세요. 플래그는 flag.py에 있습니다. 문제 파일을 확인하고 Hint •Cat 명령어를 활용해 flag.py 내용 화면에 출력하기 •앞 뒤로 따옴표 처리 •“요청한 형식과 일치시키세요” —> 개발자 도구에서 제어 •여러 명령어를 실행시킬 수 있는 메타문자 활용 완성된 명령어 : ping -c 3 “”앞 명령어 (메타문자) 뒷 명령어”” Host에 그냥 8.8.8.8";cat flag.py # 를 입력하면 형식에 맞게 쓰라고 나온다. 요청한 형식에 맞춰서 문제를 해결할 수 없기에 개발자 도구에 들어가서 pattern 부분을 싹 지워준다. 형식을 없애준 것이다. 그리고 다시 Host에 입력하고..

웹 보안 2024.03.25

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