소학회/워게임 24

[reversing]H4CKING GAME_Season1 : Keygen

문제에서 주어진 파일 IDA에서 열어봄. 바로 디컴파일해줌.대충 코드 보면..buf2에 ?;FJDnv8dw8lRulyRmmt 이 문자열 복사함buf1에 flag 값 입력받음buf1에 반복문 이용한 계산 넣음buf1이랑 buf2 문자열 비교해서 옳은 플래그인지 판단그러니까 반복문을 돌렸을 때 buf1에 최종적으로 이 ?;FJDnv8dw8lRulyRmmt 값이 들어가 있으면 됨.. -> 역으로 계산하면 됨.. 코드 작성은 지피티 도움..buf2 = "?;FJDnv8dw8lRulyRmmt"flag = ""for c in buf2: decrypted = ((ord(c) + 3) ^ 0x1B) ^ 0x11 flag += chr(decrypted)print("입력해야 할 플래그:", flag)이거 돌려주..

소학회/워게임 2025.05.13

[reversing]Dreamhack_rev-basic-0

문제 설명이 문제는 사용자에게 문자열 입력을 받아 정해진 방법으로 입력값을 검증하여 correct 또는 wrong을 출력하는 프로그램이 주어집니다.해당 바이너리를 분석하여 correct를 출력하는 입력값을 찾으세요! 문제 파일을 받고, IDA에서 해당 파일을 열어서 정적 분석을 시도했다.어셈블리어를 잘 몰라서 f5를 눌러서 디컴파일된 코드를 바로 확인했다. main 함수인데, correct를 출력하는 입력값을 찾아야 하니까, if 조건문이 중요해 보였다. sub_140001000이 무슨 함수인지 잘 모르겠음. 이건 프로그램 실행하면 나오는 화면인데, "Input : "을 출력하고 입력을 받는 것 같다. 즉, sub_140001190이 printf고, sub_140011F0은 scanf 같다.v4가 입력받..

소학회/워게임 2025.03.31

[web]Dreamhack_simplesqli

문제 설명 로그인 서비스입니다.SQL INJECTION 취약점을 통해 플래그를 획득하세요. 플래그는 flag.txt, FLAG 변수에 있습니다.   *참고 사항 : 이번 문제는 Dreamhack 학습의 Web Hacking의 SQL Injection 파트를 읽으면서 풀었다.   사이트 접속해 보니까 사진과 같은 로그인하는 기능만 있었다. 코드 확인우선 database.db 파일로 데이터베이스를 관리하고 있는 것을 확인할 수 있다. 데이터 베이스의 구조 : 테이블 형식이고 아래와 같다.useriduserpasswordguestguestadmin랜덤 16바이트 문자열을 Hex 형태로 표현(32 바이트) GET : userid와 userpassword를 입력할 수 있는 페이지 제공.POST : 데이터베이스에 ..

소학회/워게임 2025.03.25

[web]Dreamhack_csrf-2

문제 설명여러 기능과 입력받은 URL을 확인하는 봇이 구현된 서비스입니다.CSRF 취약점을 이용해 플래그를 획득하세요.   *참고 사항 : 이번 문제는 Dreamhack 학습의 Web Hacking의 Cross-site Request Forgery (CSRF) 파트를 읽으면서 풀었다.  로그인해야 하는 문제, 이 문제도 admin 계정으로 로그인하면 될 것 같다.  코드 분석vuln : csrf-1과 마찬가지로 xss 공격은 키워드로 필터링 해뒀다. 기능 역시 param을 출력하는 것으로 동일하다.flag : GET - 입력받을 페이지 제공 / POST : session_id가 유효한지 check_csrf로 확인, check_csrf 함수는 read_url 함수 호출.login : GET - userna..

소학회/워게임 2025.02.04

[web]Dreamhack_csrf-1

문제 설명여러 기능과 입력받은 URL을 확인하는 봇이 구현된 서비스입니다.CSRF 취약점을 이용해 플래그를 획득하세요.  *참고 사항 : 이번 문제는 Dreamhack 학습의 Web Hacking의 Cross-site Request Forgery (CSRF) 파트를 읽으면서 풀었다.  코드 분석vuln : 이용자가 전달한 param 값 출력. XSS 공격 방지를 위해 키워드가(frame, script, on) 필터링 되어있다.memo : 이용자가 전달한 memo 값 기록, render_template 통해 출력한다.flag : GET - 입력받는 페이지 제공 / POST - check_csrf 함수 호출, check_csrf 함수는 read_url 함수 호출.admin/notice_flag : 로컬호스트..

소학회/워게임 2025.02.04

[web]Dreamhack_xss-2

문제 설명여러 기능과 입력받은 URL을 확인하는 봇이 구현된 서비스입니다.XSS 취약점을 이용해 플래그를 획득하세요. 플래그는 flag.txt, FLAG 변수에 있습니다.플래그 형식은 DH{...} 입니다.  *참고 사항 : 이번 문제는 Dreamhack 학습의 Web Hacking의 Cross-site-Scripting (XSS) 파트를 읽으면서 풀었다.  코드 분석을 해보자.vuln : xss-1과 다르게 바로 param을 return하지 않고, render_template 함수를 사용한 값을 반환한다. 즉, 이전 xss-1과 같은 방법을 사용해서 문제를 푸는 것은 불가능하다.render_template : HTML 템플릿 파일을 렌더링한다. 즉, 이용자가 입력한 값을 그대로 반환하지 않도록 해준다...

소학회/워게임 2025.01.28

[web]Dreamhack_xss-1

문제 설명여러 기능과 입력받은 URL을 확인하는 봇이 구현된 서비스입니다.XSS 취약점을 이용해 플래그를 획득하세요. 플래그는 flag.txt, FLAG 변수에 있습니다.플래그 형식은 DH{...} 입니다.  *참고 사항 : 이번 문제는 Dreamhack 학습의 Web Hacking의 Cross-site-Scripting (XSS) 파트를 읽으면서 풀었다. 코드 분석을 해보자./vuln : 이용자가 전달한 param 값을 출력/memo : 이용자가 전달한 memo 값을 render_template 함수를 통해 기록하고 출력/flag : GET - 이용자에게 URL 입력받는 페이지 제공 / POST - params에 값과 쿠키에 FLAG를 포함해 check_xss 함수를 호출, check_xss는 read..

소학회/워게임 2025.01.28

[web]Dreamhack_session-basic

문제 설명 쿠키와 세션으로 인증 상태를 관리하는 간단한 로그인 서비스입니다.admin 계정으로 로그인에 성공하면 플래그를 획득할 수 있습니다.플래그 형식은 DH{...} 입니다.  *참고 사항 : 이번 문제는 Dreamhack 학습의 Web Hacking의 Cookie & Session 파트를 읽으면서 풀었다. 주어진 사이트에 들어가 봤다. f12를 눌러 소스를 살펴봐도 별다른 힌트는 없었다. 파이썬 코드를 살펴보자. 쿠키의 sessionid의 값을 통해 session_storage에서 해당 session id의 username을 조회(주석참고)한다. username이 admin이면 FLAG를 출력하는 것을 볼 수 있다.  /admin 경로를 타면 session_storage를 반환해 주는 것을 볼 수 ..

소학회/워게임 2025.01.21

[Web]SuNiNaTaS_04

사이트에 들어갔더니 이런 화면이 떴다. f12 눌러보니까 아래에 주석으로 힌트가 써져 있음. SuNiNaTaS라고 적혀있는 건 무슨 힌트인지 모르겠지만 포인트를 50으로 만들면 될 것 같았다. 그러나 버튼을 아무리 눌러도 25가 최대였다. 곰곰이 생각해 봤는데, 뭔가 User-Agent라고 적힌 게 괜히 있는 게 아닐 것 같았다. User-Agent : HTTP 요청을 보내는 디바이스와 브라우저 등 사용자 소프트웨어의 식별 정보를 담고 있는 request header의 한 종류  검색해 보니까 이렇게 나왔고, 그 예시들을 둘러보니까 접속한 브라우저에 따라 user-agent가 달라진다는 것을 깨달았다. 그렇다면 위의 plus 버튼을 눌렀을 때 나오는 문구(오른쪽 사진)가 SuNiNaTaS를 현재 접속한 ..

소학회/워게임 2025.01.21

[Web]SuNiNaTaS_03

해당 문구 외에는 f12를 눌러봐도 별다른 힌트가 없었다. 그래서 문구가 시킨대로, 써니나타스 사이트의 Notice탭으로 가봤다. 그러나 Notice탭에는 글쓰는 기능이 없었다. 혹시나 해서 f12를 눌러봤지만 마땅히 힌트를 찾아내진 못했다. 다른 탭을 눌러보니, FREE에는 Write버튼이 있었다. 이와 같이, 링크에서의 차이가 /write가 더해지는 것 외에는 차이가 없었다. 이를 Notice탭에도 적용해 본다. 그러면 글쓰기 화면이 나오고, 아무 글이나 작성해 본다. Authkey 값을 무사히 구했다. 개인 공부 목적으로 작성된 글이며, 틀린 정보나 해석이 있을 수 있음. http://suninatas.com/challenge/web03/web03.asp Game 03 suninatas.com

소학회/워게임 2025.01.14