전체 글 (90) 썸네일형 리스트형 [드림핵/워게임] basic_exploitation_000 https://dreamhack.io/wargame/challenges/2/ [드림핵/워게임] Return Address Overwrite https://dreamhack.io/wargame/challenges/351/ Return Address Overwrite Description Exploit Tech: Return Address Overwrite에서 실습하는 문제입니다. dreamhack.io 문제 파일을 다운 받으면 rao.c와 실행파일이 있다. // Name: rao.c // Compile: gcc -o rao rao.c -fno-stack-protector -no-pie #include #include void init() { setvbuf(stdin, 0, 2, 0); setvbuf(stdout, 0, 2, 0); } void get_shell() { char *cmd = "/bin/sh"; char *args[] = {cmd.. [드림핵/워게임] csrf-2 write-up https://dreamhack.io/wargame/challenges/269/ csrf-2 여러 기능과 입력받은 URL을 확인하는 봇이 구현된 서비스입니다. CSRF 취약점을 이용해 플래그를 획득하세요. 문제 수정 내역 2023.07.18 css, html 제공 및 read_url() 코드 일부가 변경되었습니다. Referen dreamhack.io csrf-1과 다르게 login 페이지와 로그인 하라는 문구가 보인다. guest:guest로 로그인을 해 보면 admin이 아니라는 문구가 뜬다. 코드를 살펴 보자! 코드 index @app.route("/") def index(): session_id = request.cookies.get('sessionid', None) try: username = .. [드림핵/워게임] csrf-1 write-up https://dreamhack.io/wargame/challenges/26/ csrf-1 여러 기능과 입력받은 URL을 확인하는 봇이 구현된 서비스입니다. CSRF 취약점을 이용해 플래그를 획득하세요. 문제 수정 내역 2023.07.18 css, html 제공 및 read_url() 코드 일부가 변경되었습니다. Referen dreamhack.io xss 문제들과 거의 똑같은 페이지이다. 먼저 vuln 페이지이다. parameter로 넘겨 준 script 태그가 *로 치환된 것을 보아 필터가 있는 모양이다. admin/notice_flag 페이지를 들어가면 다음과 같이 뜬다. memo, flag 페이지는 xss 문제와 동일하므로 생략하겠다. 코드 vuln @app.route("/vuln") def vu.. [드림핵/워게임] xss-2 write-up https://dreamhack.io/wargame/challenges/268/ xss-2 여러 기능과 입력받은 URL을 확인하는 봇이 구현된 서비스입니다. XSS 취약점을 이용해 플래그를 획득하세요. 플래그는 flag.txt, FLAG 변수에 있습니다. 플래그 형식은 DH{...} 입니다. 문제 수정 내역 dreamhack.io 전체적인 페이지는 xss-1과 크게 다를 게 없어 보인다. 다만 vuln 페이지에서 param으로 넘겨준 스크립트 태그가 실행이 되지 않는다. xss-1과 뭐가 다른지 코드로 살펴 보자 코드 def read_url(url, cookie={"name": "name", "value": "value"}): cookie.update({"domain": "127.0.0.1"}) try:.. [드림핵/워게임] xss-1 write-up https://dreamhack.io/wargame/challenges/28/ xss-1 여러 기능과 입력받은 URL을 확인하는 봇이 구현된 서비스입니다. XSS 취약점을 이용해 플래그를 획득하세요. 플래그는 flag.txt, FLAG 변수에 있습니다. 플래그 형식은 DH{...} 입니다. 문제 수정 내역 dreamhack.io 처음 사이트를 들어가 보면 다음과 같이 나온다. vuln 페이지에 들어가 보면 인자로 넘겨 준 스크립트가 실행된 것을 볼 수 있다. memo페이지에서는 param으로 넘겨준 memo 값이 그대로 출력되는 걸 볼 수 있다. flag 페이지는 다음과 같다. 코드를 살펴 보자!! memo @app.route("/memo") def memo(): global memo_text text .. [백준/c++] BOJ 13305 - 주유소 https://www.acmicpc.net/problem/13305 13305번: 주유소 표준 입력으로 다음 정보가 주어진다. 첫 번째 줄에는 도시의 개수를 나타내는 정수 N(2 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 인접한 두 도시를 연결하는 도로의 길이가 제일 왼쪽 도로부터 N-1 www.acmicpc.net 문제 설명 N개의 도시가 있다. 각 도시에는 주유소가 있으며, 리터 당 가격은 다를 수 있다. 인접한 도시 사이의 도로들은 길이가 서로 다를 수 있으며 단위는 km이다. 1km 당 1리터의 기름을 사용한다. 제일 왼쪽에서 제일 오른쪽 도시로 이동할 때, 충전해야 하는 기름의 최소 비용을 구하라. 입력은 다음과 같은 순서로 들어온다. 도시의 개수를 나타내는 정수 N(2 ≤ N ≤ 10.. [백준/c++] BOJ 1439 - 뒤집기 https://www.acmicpc.net/problem/1439 1439번: 뒤집기 다솜이는 0과 1로만 이루어진 문자열 S를 가지고 있다. 다솜이는 이 문자열 S에 있는 모든 숫자를 전부 같게 만들려고 한다. 다솜이가 할 수 있는 행동은 S에서 연속된 하나 이상의 숫자를 잡고 모 www.acmicpc.net 문제 설명 0과 1로만 이루어진 문자열 S를 입력받는다. 문자열을 뒤집으면 0은 1로, 1은 0으로 바뀐다. 연속된 숫자를 잡고 뒤집어 문자열의 모든 숫자를 같게 만들어야 한다. 입력된 문자열의 모든 숫자를 같게 하기 위해 뒤집는 최소 횟수를 구하라. S의 길이는 100보다 작다. 해결 입력받는 문자열의 모든 숫자를 0 또는 1로 통일시켜야 한다. 뒤집을 때는 연속된 숫자의 집단을 한번에 뒤집는다.. 이전 1 ··· 8 9 10 11 12 다음