전체 글 (9) 썸네일형 리스트형 [Dreamhack] BISC board 이번엔 BISC board 문제를 풀어볼 거다. 웹페이지 정찰 먼저 접속을 하면 아래와 같이 로그인을 하라고 alert이 뜬다. 그러면 아래와 같이 /login 페이지가 나오는데 계정이 없으니 ID: 1111 PW: 1111로 회원가입 후 로그인 해보겠다. 로그인하면 아래와 같이 글 목록 페이지가 나온다. Write 버튼을 눌러서 글쓰기도 가능하다. XSS가 될까 싶어서 아래처럼 글을 써봤는데 XSS는 안 통하는 것 같다. 글을 수정할 때도 XSS는 없는 것 같아 코드를 보고 문제를 풀어보겠다. 코드 확인 먼저 app.js 코드를 봤는데에 계정 정보가 하드코딩 돼있었다.var accounts={"BISC2023":"TeamH4C"} 그 다음 views 디렉터리를 봤는데 아래와 같은 파일 들이 있었.. [Dreamhack] phpmyredis 이번 글은 자세히 적지 않고 풀이 과정만 적을 예정이다. (귀찮음 이슈..) /config.php로 접속하면 아래와 같은 화면이 나온다. GET으로 조회를 할 수 있고 SET으로 설정을 할 수 있다. GET에서 Key에 *를 입력하면 아래와 같이 조회할 수 있는 모든 것이 나온다. dbfilename은 redis에 변경 사항이 있을시 해당 사항을 기록하는 파일.save는 변경사항이 몇 번 있을시 몇 분마다 기록을 할지를 설정하는 key이다. SET으로 save를 1 1 1 1 1 1로 바꿔주고 dbfilename을 exploit.php로 바꿔준다. 그다음 /로 돌아와서 `return ""` 를 입력해준다. 그러면 웹쉘이 업로드되고 /exploit.php?cmd = ls -al / 로 이동해보면 아래와.. Cookie Sandwich 이번엔 Cookie Sandwich에 대해 다뤄볼 거다.해당 내용은 https://blog.snoopbees.com/http-cookie-sandwich-attack-6ba8110e0e02 에 있는 내용을 참고했다. Cookie Sandwich가 무엇인지 알기 전에 먼저 Cookie가 뭔지 알아야한다.원래는 Cookie Tossing 글에서 이걸 먼저 다뤘어야 하지만.. 까먹고 못 했다 ^_^그래서 이 글에서 간단히 Cookie가 무엇인지 설명할 거다.(잠깐 간단히 말하면 Cookie Sandwich로 HttpOnly 속성이 설정된 쿠키 값을 탈취할 수 있다.) Cookie란Cookie는 Server가 사용자의 Web browser에 저장하도록하는 작은 데이터 조각이다.Browser는 이 데이터를 저장해.. Cookie Tossing 이 글에서는 Cookie Tossing에 대해 설명한다.해당 내용은 https://labs.snyk.io/resources/hijacking-oauth-flows-via-cookie-tossing/ 블로그를 참고했다.Cookie Tossing이란Cookie Tossing이란 공격자가 웹사이트의 하위 도메인을 이용하여 악의적인 쿠키를 상위 도메인으로 보내는 공격 기법이다. Cookie 설정 방법Cookie는 HTTP Response의 Set-Cookie 헤더나 JS Cookie API를 통해 설정할 수 있다.Set-Cookie 헤더를 이용하는 경우HTTP Response에 Set-Cookie를 포함해 쿠키를 설정할 수 있다.예시는 아래와 같다.HTTP/1.1 200 OKSet-Cookie: userId=p.. [Dreamhack] PATCH-1 이번 dreamhack 문제는 코드를 패치하는 문제다.지금까지 취약점 공격만 해봤지 취약점 패치는 해본 적이 없어서 새로웠다.#!/usr/bin/python3from flask import Flask, request, render_template_string, g, session, jsonifyimport sqlite3import os, hashlibapp = Flask(__name__)app.secret_key = "Th1s_1s_V3ry_secret_key"def get_db(): db = getattr(g, '_database', None) if db is None: db = g._database = sqlite3.connect(os.environ['DATABASE']) db.row_fa.. [Dreamhack] chocoshop 이번엔 dreamhack chocoshop 문제를 풀 거다.웹페이지에 접속하면 바로 보이는 페이지다. 세션이 요구되므로 Acquire Session 버튼을 눌러서 세션을 발급받는다. 그러면 이렇게 세션을 발급 받을 수 있고 오른쪽 위에는 현재 잔액이 표시된다. SHOP 버튼을 누르면 빼빼로 또는 플래그를 구매할 수 있다. MYPAGE 버튼을 누르면 위와 같이 나오고 Claim 버튼을 눌러서 쿠폰을 발급받을 수 있고 Submit에 쿠폰을 입력하여 쿠폰을 적용시킬 수 있다. 적용하면 쿠폰이 적용됐다는 알림과 함께 1000원이 생긴 것을 확인할 수 있다.하지만 이걸로는 FLAG를 구매하지 못 한다.쿠폰은 한 번밖에 적용 못 하고 발급도 안 돼서 방법이 없다. 문제 설명에는 이렇게 써져 있는데 쿠폰을 레이스 .. PHP LFI 문제 환경문제 사이트인 http://web.h4ckingga.me:10012/로 접속한다.그러면 위와 같은 페이지가 보이는데 여기서 hello를 누르면 inc에 hello가 파라미터로 입력되어 요청을 보내서 위와 같은 TMI를 볼 수 있다. test를 누르면 위와 같이 뜨는데 위 글을 보면 hello, test는 파일이라는 것을 알 수 있다.파일의 내용을 읽어온다면 LFI를 생각할 수 있다. LFI 취약점 확인그래서 /etc/passwd를 입력해봤다.파일 내용은 잘 읽어온다. 필터링 우회 과정최종 목표는 /flag 내용을 읽는 것이니 /flag를 입력해봤다.그런데 위와 같이 출력된다.아무래도 위 값이 필터링 되는 거 같다.그래서 URL Encoding이나 hex Encoding을 시도해봤는데 똑같이.. [Webhacking.kr] old-02 웹페이지에 접속하면 이런 내용이 보인다.html을 보면 현재 날짜가 주석으로 적혀있고 admin.php에 접속하면 엉덩이를 걷어차버릴 거라는 내용이 있다.바로 admin.php로 접속해본다. admin.php에 접속하면 이런 화면이 보여서 바로 sql injection을 시도해봤다. 이것저것 시도해봤지만 다 wrong password만 출력된다. 한참을 헤매다가 쿠키 값에 time이라는 값이 있는 것을 발견했다. 쿠키 값이 이 주석문과 연관되어 있는 것일까 생각해봤다. 쿠키 값을 1746779932로 바꾸고 확인해보니 시간이 1초 늘어났다.time이 주석문과 관련되어있는 것이다. 1을 넣으면 09:00:01이라 뜨고 22를 넣으면 09:00:22라 뜬다. 이 값은 time에 1=2를 넣었을 때이다. 1=.. 이전 1 2 다음