본문 바로가기

전체 글539

[Dreamhack] proxy-1 app.py #!/usr/bin/python3 from flask import Flask, request, render_template, make_response, redirect, url_for import socket app = Flask(__name__) try: FLAG = open('./flag.txt', 'r').read() except: FLAG = '[**FLAG**]' @app.route('/') def index(): return render_template('index.html') @app.route('/socket', methods=['GET', 'POST']) def login(): if request.method == 'GET': return render_template('soc.. 2021. 7. 16.
[Dreamhack] sint 문제에서 주어진 코드는 아래와 같다. sint.c #include #include #include #include void alarm_handler() { puts("TIME OUT"); exit(-1); } void initialize() { setvbuf(stdin, NULL, _IONBF, 0); setvbuf(stdout, NULL, _IONBF, 0); signal(SIGALRM, alarm_handler); alarm(30); } void get_shell() { system("/bin/sh"); } int main() { char buf[256]; int size; initialize(); signal(SIGSEGV, get_shell); printf("Size: "); scanf("%d",.. 2021. 7. 15.
[Dreamhack] csrf-1 이번 문제는 CSRF 취약점을 이용해 플래그를 획득해야 한다. CSRF란 사용자를 직접 공격하는 XSS 공격과 다르게 다른 권한을 가진 사용자에게 특정 행동을 유도하는 공격기법이다. 문제에서 주어진 코드는 아래와 같다. app.py #!/usr/bin/python3 from flask import Flask, request, render_template from selenium import webdriver import urllib import os app = Flask(__name__) app.secret_key = os.urandom(32) try: FLAG = open("./flag.txt", "r").read() except: FLAG = "[**FLAG**]" def read_url(url, c.. 2021. 7. 15.
[Dreamhack] xss-1 문제에서 XSS 취약점을 이용해 플래그를 획득하라고 요구한다. XSS 취약점은 실제로 쿠키 탈취에 많이 사용되는데 이번 문제 역시 코드를 살펴보면 쿠키 값이 플래그임을 알 수 있다. 코드는 파이썬의 플라스크를 사용하는데 항상 그렇듯이 처음보는 언어라도 어떤 내용인지는 파악할 수 있으므로 할 수 있다. 문제에서 주어진 파이썬 코드는 아래와 같다. #!/usr/bin/python3 from flask import Flask, request, render_template from selenium import webdriver import urllib import os app = Flask(__name__) app.secret_key = os.urandom(32) try: FLAG = open("./flag.t.. 2021. 7. 15.
게임 메모리 해킹 - 스타듀 밸리 안녕하세요 이번 게시글에서는 치트엔진을 이용한 스타듀 밸리 메모리 조작법에 대해서 알아보겠습니다. 스타듀 밸리는 힐링 게임으로 제가 평소에 즐겨하는 게임인데요 최근에 게임 메모리 해킹에 관심이 많아져서 한번 시도해봤습니다. 스팀에서 스타듀 밸리를 다운로드하니 예전에 제가 하던 데이터가 그대로 남아있어서 신기했습니다. 게임에 치트를 사용하는 순간 재미없어지기 때문에 간단히 체력 치트만 만들도록 하겠습니다. 돈이나 기력 같은 다른 구성요소들도 같은 방법으로 치트 제작이 가능합니다. 체력부터 조작하겠습니다. 마우스를 체력 초록색 바로 이동하면 145/145로 현재 체력이 145라고 출력됩니다. 치트엔진을 실행하고 프로세스를 로드합니다. 그리고 New Scan을 클릭한 후 145를 입력하고 First Scan을.. 2021. 7. 14.
[보안프로젝트] 시나리오 기반 모의해킹 프로젝트 해킹시연영상 2021. 7. 13.
AssualtCube 게임핵 제작(체력, 탄약, 에임핵, 월핵 등...) 안녕하세요 이번 게시물은 AssaultCube라는 고전 FPS 게임핵 제작 방법을 알려드리고자 합니다. AssaultCube는 오픈소스이기 때문에 코드를 변경하여도 법적인 문제가 되지 않습니다. 코드는 유튜브 재즐보프 채널을 참고했습니다.  아래 동영상은 게임핵 제작의 결과물입니다. Health Hack, Ammo Hack을 클릭하면 각각 체력과 탄약이 1000개로 고정되고 Wall Hack을 체크하면 상대방의 위치가 네모박스로 표시됩니다. 에임핵은 마우스 오른쪽을 누르면 가장 각도가 가까운 상대방을 조준하도록 설계했습니다.  Form1.csusing System;using System.Collections.Generic;using System.ComponentModel;using System.Data;.. 2021. 7. 13.
게임 메모리 해킹 - 포켓몬스터 이번 글에서는 치트엔진을 이용한 포켓몬스터 파이어 레드 버전 해킹을 진행하겠습니다. 포켓몬스터 파이어레드 gba를 다운로드 받고 gba파일을 실행할 VBA에뮬레이터를 설치합니다. 목표는 한번에 레벨 99LV 달성입니다. 치트엔진을 실행하여 VBA 프로세스를 로드합니다. 처음 게임을 시작하고 포켓몬을 받고 나면 라이벌과 배틀을 시작합니다. 배틀을 이기면 69의 경험치를 얻습니다. 치트 엔진에서 얻은 경험치 69 값을 입력하고 Value Type은 포켓몬스터 버전이 대략 17년전 버전이므로 2바이트 형식을 사용합니다. 그리고 First Scan을 실행합니다. 처음 69 값을 스캔하면 2488개의 검색결과가 나옵니다. 따라서 한번 더 반복하여 경험치를 다시 입력하여 Next Scan으로 범위를 줄여줍니다. 결.. 2021. 6. 30.
[Dreamhack] basic_exploitation_003 #include #include #include #include void alarm_handler() { puts("TIME OUT"); exit(-1); } void initialize() { setvbuf(stdin, NULL, _IONBF, 0); setvbuf(stdout, NULL, _IONBF, 0); signal(SIGALRM, alarm_handler); alarm(30); } void get_shell() { system("/bin/sh"); } int main(int argc, char *argv[]) { char *heap_buf = (char *)malloc(0x80); char stack_buf[0x90] = {}; initialize(); read(0, heap_buf, 0x80.. 2021. 5. 22.