프롤로그시간이 부족해 문제https://dreamhack.io/wargame/challenges/343 [wargame.kr] tmitterDescription you need login with "admin"s id! create table tmitter_user( idx int auto_increment primary key, id char(32), ps char(32) );dreamhack.io 코드는 따로 주어지지 않았다 코드처음 입장했을 때 이렇게 존재하고, 소스코드는 TMITTER is not fake twitter! :p have an account? New to Tmitter? ID PS 여기서 확인할 수 있다. 그리고 문제조건에서 나온..
보안
프롤로그학회 때문에 바빠죽겠는데 할 건 해야지.. 문제https://dreamhack.io/wargame/challenges/931 random-testDescription 새 학기를 맞아 드림이에게 사물함이 배정되었습니다. 하지만 기억력이 안 좋은 드림이는 사물함 번호와 자물쇠 비밀번호를 모두 잊어버리고 말았어요... 드림이를 위해 사물함 번호와dreamhack.io드림이는 바보야.. 코드#!/usr/bin/python3from flask import Flask, request, render_templateimport stringimport randomapp = Flask(__name__)try: FLAG = open("./flag.txt", "r").read() # flag is ..
프롤로그워게임 Error based SQL Injection 을 풀면서, SQL Injection에는1. Error Based SQL Injection: GET/POST/HTTP헤더/쿠키 등에 ' or ; 삽입시 SQL 관련 에러를 통해 DB의 정보를 예상(1) '을 넣어서 Error based SQL Injection이 뜨는지 확인(2) ' and db_name() > 1 -- 로, 등으로 DB명 확인(3) 칼럼명 확인 2. Union Based SQL Injection: 공격자가 Union을 이용하여 원래의 요청에 추가 쿼리를 삽입하여 정보를 얻어내는 방식-> Union쿼리는 앞에거랑 필드개수가 같아야함' union select 1, 2, 3, 4, 5, 6# 이런식으로 사용 3. Blind bas..
문제https://dreamhack.io/wargame/challenges/1186 what-is-my-ipDescription How are they aware of us even behind the wall? FYI Flag Location: /flag Flag Format: DH{...}dreamhack.io 소스코드#!/usr/bin/python3import osfrom subprocess import run, TimeoutExpiredfrom flask import Flask, request, render_templateapp = Flask(__name__)app.secret_key = os.urandom(64)@app.route('/')def flag(): user_ip = reques..
프롤로그하루 1 워게임 도전중 문제소스코드를 다운받아도, 아무것도 없길래 일단 넘어가겠다. 그래서 사이트를 접속하게 되면get source 부분이 있는데 저것을 클릭하면 소스코드"; echo "FLAG : ".$FLAG; } }else{ echo "wrong.."; } }?>IDPW get source 코드 분석맨 밑에 주석처리되어 있는 you have blocked accounts.guest / guestblueh4g / blueh4g1234ps이게 아마 아이디, 비밀번호일것이다. isset($_POST['id']) && isset($_POST['ps'])여긴 POST 요청으로 아이디, 비밀번호가 요청된 게 있는 확인하는 곳mysqli_connect("localhost", $DB_u..
0. 프롤로그https://dreamhack.io/wargame/challenges/353 Return to LibraryDescription Exploit Tech: Return to Library에서 실습하는 문제입니다.dreamhack.io 1. 사전 공부 및 작업2. 문제 3. 코드 분석 4. 스택 구조 5. 예상 공격 방법 6. 카나리 값 획득 7. system.의 plt 주소 확인8. 리턴 가젯 9. /bin/sh의 주소 찾기10. 실행 11. 에필로그시간 투자를 굉장히 많이함.
라이브러리컴퓨터 시스템에서 , 프로그램들이 함수나 , 변수를 공유해서 사용할 수 있게 함.printf, scanf, strlen 등 C프로그래머들이 코드를 작성하면서 자주 사용하는 함수들의 정의를 묶어서 하나의 라이브러리 파일로 만들고, 이를 여러 프로그램들이 공유해서 사용할 수 있도록 지원함.-> 같은 함수를 반복적으로 정의해야하는 수고를 덜 수 있어서 코드 개발의 효율이 높아짐 각 언어에서는 범용적으로 많이 사용하는 함수들(printf...)은 표준 라이브러리로 제작되어있음.C의 표준 라이브러리인 libc는 우분투에 기본적으로 탑재됨./lib/x86-64-linux-gnu/libc.so.6에 위치. 링크컴파일 되는 과정전처리(.i) -> 컴파일(.s) -> 어셈블(.o) -> 링킹 즉 어셈블 까지..
프롤로그 화이트햇 하면서, 스택오버플로우랑 카나리 기법 공부하고, 따로 정리는 안 하였다. NX No-eXecute(NX) : 실행에 사용되는 메모리 영역과 쓰기에 사용되는 메모리 영역을 분리하는 보호 기법. 메모리 영역에 대해 쓰기 권한과 실행 권한이 함께 있으면 시스템이 취약해 지기 쉽다. 그래서 CPU가 NX를 지원하면, 컴퍼알러 옵션을 통해 바이너리에 NX를 적용할 수 있고, NX가 적용된 바이너리는 실행될 때 각 메모리 영역에 필요한 권한만을 부여받는다. 어떤 보호 기법이 적용되었는지 확인하려면 checksec 파일 를 쓰면 보호 기법이 나온다 $ checksec ./nx [*] '/home/dreamhack/nx' Arch: amd64-64-little RELRO: Partial RELRO S..
프롤로그 되게 오랫동안 버려두었던...시스템 호출... 어려운 것도 있고...레지스터도 뒤지게 많고...이참에 한 번에 정리하고 제대로 해보자. 문제 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) [암호학] 암..