보안 스터디

프롤로그 되게 오랫동안 버려두었던...시스템 호출... 어려운 것도 있고...레지스터도 뒤지게 많고...이참에 한 번에 정리하고 제대로 해보자. 문제 https://dreamhack.io/wargame/challenges/410 shell_basic Description 입력한 셸코드를 실행하는 프로그램이 서비스로 등록되어 작동하고 있습니다. main 함수가 아닌 다른 함수들은 execve, execveat 시스템 콜을 사용하지 못하도록 하며, 풀이와 관련이 없는 dreamhack.io 사전 정보 syscall : 운영체제의 커널이 제공하는 서비스에 대한 프로그램의 요청을 말한다. open : 파일을 열거나 생성하기 위한 시스템 호출이다. 파일을 열 때 필요한 정보를 지정하고, 파일이 성공적으로 열리면 ..
프롤로그 session-basic 이라는 문제가 있었는데, 이것은 그거와는 조금 다른 문제이다. 문제 https://dreamhack.io/wargame/challenges/266 session 쿠키와 세션으로 인증 상태를 관리하는 간단한 로그인 서비스입니다. admin 계정으로 로그인에 성공하면 플래그를 획득할 수 있습니다. Reference Background: Cookie & Session dreamhack.io 문제코드 #!/usr/bin/python3 from flask import Flask, request, render_template, make_response, redirect, url_for app = Flask(__name__) try: FLAG = open('./flag.txt', '..
프롤로그 1주일간, 무선통신과 AES 암호학에 대해서 되게 심도있게 공부하고, 그것으로 발표자료를 준비하느라 좀 블로그에 신경을 못 썼다. 오늘 일단 발표자료는 다 완성이 되어서 이제 웹 해킹 마저 공부했던 거 계속 문제를 풀어보자. 문제 문제 코드 PHPreg Step 1 Step 2
프롤로그 자 지금까지 2024.01.17 - [보안 스터디/암호학] - [암호학] 암호화 해킹 #4 (대칭키 암호, Symmetric-key Cryptography) [암호학] 암호화 해킹 #4 (대칭키 암호, Symmetric-key Cryptography) 프롤로그 이제 암호학 본격적으로 들어가보자 대칭키 암호 대칭키 암호란 암호화에 사용되는 암호키와 복호화에 사용되는 암호키가 동일한 암호화 기법을 말한다. 대칭키 암호 방식으로 암호 taesan-smj.tistory.com 대칭키 암호에 대해서 배우고, 블록 암호화 스트림 암호를 대해서 배웠다. 스트림 암호인 ARC4를 구현했었다. 2024.01.18 - [보안 스터디/암호학] - [암호학] 암호화 해킹 #7 (스트림 암호와 ARC4) [암호학] 암..
프롤로그 대칭키 암호 - 스트림 구조 - 블록 구조 - 파이스텔 방식 - SPN 구조에서 파이스텔 방식에서 2024.01.18 - [보안 스터디/암호학] - [암호학] 암호화 해킹 #5 (3DES 및 구현) [암호학] 암호화 해킹 #5 (3DES 및 구현) 프롤로그 아 좀 빡센데 3DES DES(Data Encryption Standard 는 1970년대 IBM에서 파이스텔 블록구조에 기반하여 설계뙤고 개발된 56비트 암호화 알고리즘으로써 되게 인기있었지만 56비트라는 작은 암호키로 taesan-smj.tistory.com DES 방식을 직접 구현해보았고 SPN 방식에서 2024.01.18 - [보안 스터디/암호학] - [암호학] 암호화 해킹 #6 (AES 및 구현) [암호학] 암호화 해킹 #6 (AES..
프롤로그 2024.01.17 - [보안 스터디/암호학] - [암호학] 암호화 해킹 #4 (대칭키 암호, Symmetric-key Cryptography) [암호학] 암호화 해킹 #4 (대칭키 암호, Symmetric-key Cryptography) 프롤로그 이제 암호학 본격적으로 들어가보자 대칭키 암호 대칭키 암호란 암호화에 사용되는 암호키와 복호화에 사용되는 암호키가 동일한 암호화 기법을 말한다. 대칭키 암호 방식으로 암호 taesan-smj.tistory.com 이 글을 복습해보자면, 대칭키 암호란 암호화에 사용되는 암호키와 복호화에 사용되는 암호키가 서로 동일한 암호화 기법이라고 하였다. 이 대칭키 암호화 방식은 데이터를 변환하는 방식에 따라 블록암호화 스트림 암호로 구분된다. 이때, 지금 우리는 ..
프롤로그 아 좀 빡센데 3DES DES(Data Encryption Standard 는 1970년대 IBM에서 파이스텔 블록구조에 기반하여 설계뙤고 개발된 56비트 암호화 알고리즘으로써 되게 인기있었지만 56비트라는 작은 암호키로 인하여 빠르게 깨졌다.현재 컴퓨팅 기술로 DES는 보안성이 결여되어 현재 사용하지 않는 암호화 알고리즘이 되어버렸다. 이를 보완하기 위하여 나온 게 3DES(Triple DES)인데, 3DES는 암호화를 위해 블록당 3번의 DES를 수행함. 즉 56 * 3 = 168비트 키 암호화 알고리즘이며, DES의 핵심 알고리즘의 변경없이 적용되었다. DES에 비해 보안적인 요소는 증가했지만 성능은 감소하였다. CBC 모드라는 운영모드가 있는데, 이전 블록의 암호회된 블록과 XOR연산을 ..
프롤로그 이제 암호학 본격적으로 들어가보자 대칭키 암호 대칭키 암호란 암호화에 사용되는 암호키와 복호화에 사용되는 암호키가 동일한 암호화 기법을 말한다. 대칭키 암호 방식으로 암호화한 정보를 누군가에게 보낼 때 암호키도 함께 보내야 하는데, 암호키 자체는 암호화가 되지 않은 평문이다. 이 과정에서 암호키를 분실하거나 타인에게 노출되면 이 암호키로 암호화한 정보는 보안에 매우 취약해진다. 그래서 이 대칭키 암호의 최대약점은 암호키를 관리하고 전달하는 메커니즘이다. 대칭키 암호 원리 대칭키 암호는 이진수의 비트간 배타적 논리합(XOR) 연산에 기반한다. 원래의 정보에 암호키와 비트간 XOR 연산을 하여 암호화된 정보를 반드는 것이고, 암호화된 정보에 암호키를 비트간 XOR연산을 하여 원래 정보로 복호화한다...
문제 https://dreamhack.io/wargame/challenges/75 web-ssrf flask로 작성된 image viewer 서비스 입니다. SSRF 취약점을 이용해 플래그를 획득하세요. 플래그는 /app/flag.txt에 있습니다. 문제 수정 내역 2023.07.17 css, html 제공 Reference Server-side Basic dreamhack.io 문제코드 #!/usr/bin/python3 from flask import ( Flask, request, render_template ) import http.server import threading import requests import os, random, base64 from urllib.parse import url..
프롤로그 이건 또 뭘까..;; 서론 웹 개발 언어는 HTTP 요청을 전송하는 라이브러리를 제공한다. 파이썬같은 경우 urllib, requests 가 있다. 이 라이브러리는 HTTP 요청을 보낼 클라이언트 뿐만 아니라 서버와 서버간 통신을 위해 사용되기도 한다. 일반적으로 다른 웹 애플리케이션에 존재하는 리소스를 사용하기 위한 목적으로 통신한다. 기존에는 단일 서비스로 웹 서비스를 구현하였지만, 이제는 관리 및 코드의 복잡도를 낮추기 위해 마이크로서비스들로 웹 서비스를 구현하는 추세인데, 각 마이크로서비스는 주로 HTTP, GRPC 등을 사용해 API 통신을 한다. 서비스간 HTTP 통신이 이루어질때 요청 내에 이용자의 입력값이 포함될 수 있는데, 이용자의 입력값으로 포함되면 개발자가 의도하지 않은 요청..
문제 https://dreamhack.io/wargame/challenges/38 image-storage php로 작성된 파일 저장 서비스입니다. 파일 업로드 취약점을 이용해 플래그를 획득하세요. 플래그는 /flag.txt에 있습니다. Reference Server-side Basic dreamhack.io 문제코드 Image Storage Home List Upload Upload and Share Image ! Image Storage Home List Upload
프롤로그 아 개어려운데 풀 수 있을까? 문제 문제코드 #!/usr/bin/env python3 import os import shutil from flask import Flask, request, render_template, redirect from flag import FLAG APP = Flask(__name__) UPLOAD_DIR = 'uploads' @APP.route('/') def index(): files = os.listdir(UPLOAD_DIR) return render_template('index.html', files=files) @APP.route('/upload', methods=['GET', 'POST']) def upload_memo(): if request.method ..
성밍쟁
'보안 스터디' 카테고리의 글 목록 (2 Page)