반응형

해킹대회 617

[SHELLCTF] Extractor - 웹해킹 / SQL Injection

SQL Injection과 관련된 문제 문제 설명이 되게 재미있다. 적들이 핵무기를 사용하려고해서, 방어시스템을 활성화 시키려고 하는데 유일하게 방어시스템 비밀번호를 알고있는 사람이 죽어버려서 로그인을 못한다고 한다. 웹페이지를 통해 비밀번호를 알아내서 자기들을 도와달라고 한다. 간단한 문제지만 이런 상황제시가 되게 몰입하게 해주는것 같다. 문제페이지에 들어가면 이런 화면이 나온다. 아무것도 없이 그냥 그림만 보이는 페이지이고, 맨 위에 메뉴를 보면 Register, logion 두 개의 버튼이 있다. 먼저 Register 페이지에 들어가봤다. Username, Password, Signature 세 가지를 입력하는 칸이 있다. 각각 test1, test2, test3 이라고 입력한 뒤 계정을 하나 생성..

CTF/웹해킹 2022.09.13

[CTFlearn] Git Is Good - 포렌식

CTFlearn의 스물한번째 문제 이번엔 git 과 관련된 포렌식 문제이다. Root Me 에도 비슷한 문제가 있어서 예전에 포스팅 한 적이 있었다. (https://hackingstudypad.tistory.com/182) 문제에서 주어지는것은 gitIsGood.zip 파일이다. 압축을 풀어보면 .git 디렉토리와 flag.txt 파일이 들어있다. 당연한거지만 flag.txt 파일은 가짜이다. 문제가 git이니 아마 원래 플래그 파일 내용을 다른것으로 바꿔놓은듯 하다. 문제는 .git 디렉토리에서 풀면 된다. 내부에 여러 파일과 폴더들이 있는데 가장 먼저 cat HEAD 로 HEAD 파일의 내용을 확인한다. HEAD는 가장 최근 커밋을 가리키고 있는 것이다. refs/heads/master 라는 결과가..

워게임/CTFlearn 2022.09.12

[Root Me] ELF x86 - Stack buffer overflow basic 2 - 포너블 / 버퍼오버플로우

Root Me 의 두번째 포너블 문제 살짝 더 어려워진 버퍼오버플로우 문제이다. 아래쪽에 Environment configuration 을 보면 첫번째 문제와 다르게 NX (Non-Executable Stack) 과 Heap exec 가 설정되어 있는게 보이는데 이번 문제에서 딱히 의미있는 설정은 아닌것 같다. #include #include #include #include void shell() { setreuid(geteuid(), geteuid()); system("/bin/bash"); } void sup() { printf("Hey dude ! Waaaaazzaaaaaaaa ?!\n"); } void main() { int var; void (*func)()=sup; char buf[128]; ..

워게임/Root Me 2022.09.11

[SHELLCTF] Choosy - 웹해킹 / XSS

SHELLCTF에 나온 첫번째 웹해킹 문제 XSS 와 관련된 문제이다. XSS 는 Cross Site Script 의 약자로 웹서버에 인가되지 않은 사람이 악성 스크립트를 삽입할 수 있는 취약점이다. 보통 공격자들은 자신의 서버를 하나 열어놓은 뒤에, XSS 취약점을 이용하여 타겟 웹 서버에 악성 스크립트를 삽입한 뒤, 사용자들의 인증정보(쿠키값, 세션값 등)를 탈취하는데 이용한다. 문제페이지에 접속하면 이런 화면이 나온다. GiXe me Some intresting Inuput Security is An Illusion 라고 간접적으로 이 문제가 XSS 취약점을 이용한 것이라는걸 알려주고 있다. 화면 가운데 뭔가 입력하고 제출할 수 있는 창이 보이는데 시험삼아 AAA라고 입력해봤더니 Your lower..

CTF/웹해킹 2022.09.10

[CTFlearn] HyperStream Test #2 - 암호학 / Bacon

CTFlearn의 스무번째 문제 벌써 스무번째 포스팅이다. 문제 제목이 HyperStream Test #2 인데 왠지 모르게 #1 문제는 없다. ABAAAABABAABBABBAABBAABAAAAAABAAAAAAAABAABBABABBAAAAABBABBABABBAABAABABABBAABBABBAABB 문제에서 주어지는 암호문은 위와 같다. A와 B로 이루어진 긴 문자열인데 사실 이 문제는 문제 설명에서 거의 답을 다 줬다. I love the smell of bacon in the morning! bacon cipher 라는 암호가 존재한다. Francis Bacon 이라는 사람이 만들어서 그렇게 이름이 붙었는데 이런식으로 알파벳을 a와 b, 또는 0과 1만을 이용해 표현하는 방식이다. 예를들어 주어진 암호..

워게임/CTFlearn 2022.09.09

[Root Me] IP - Time To Live - 네트워크 / Wireshark

Root Me 에서 제공하는 네트워크 문제 엄청 쉬운 문제인데.. 정답이 뭔가 일반적인 CTF 답 형식과 달라서 답을 찾아놓고도 답이 아닌줄 알아 푸는데 시간이 좀 걸렸다.. Time To Live 란 컴퓨터 네트워크에서 패킷의 유효기간을 나타내는 역할을 한다. 패킷이 네트워크에서 무한정 떠도는것을 막기 위해 설정하는 것이다. 이렇게 ping 명령어를 쳐보면 바로 확인할 수 있는데 맨 끝에 있는 TTL 이 바로 Time To Live 의 약자이다. 윈도우는 기본적으로 TTL 값이 128 이고, 리눅스는 64로 설정되어 있다. 라우터를 거칠때마다 1씩 줄어들어 TTL 값이 0 이 되면 패킷이 폐기되는 방식이다. 문제에서 주어지는 파일은 ch7.pcap 파일이다. 문제의 목표는 targeted host에 도..

워게임/Root Me 2022.09.08

[TFCCTF] PONG - 웹해킹 / Command Injection / 명령어삽입

Warm Up 난이도의 간단한 웹해킹 문제 아주 기본적인 Command Injection 문제이다. 문제 제목이 PONG 인걸보니 ping 명령어와 관련된 문제인듯 하다. 이 문제와 똑같은 문제를 Root Me 사이트에서 제공하고 있고, 얼마전에 해당 문제 풀이를 포스팅했었다. (https://hackingstudypad.tistory.com/74) 문제페이지에 접속한 모습이다. index.php 에서 host 변수에 127.0.0.1 이라는 값을 받아 서버로 전달하고 있다. 서버에서는 ping -c 2 127.0.0.1 이라는 명령어가 실행되었다는 정보를 알려주고 있다. ping 은 네트워크를 통해 특정한 host 가 도달할 수 잇는지 여부를 테스트하는데 쓰이는 명령어이다. 문제는 이렇게 웹서비스를 통..

CTF/웹해킹 2022.09.07

[Root Me] Command & Control - level 2 - 포렌식 / Volatility

Root Me에서 제공하는 첫번째 메모리 포렌식 문제 무슨일인지 level 1 은 없고 level 2 부터 시작한다. 내용을 보면 원래는 level 1이 있었는데 알수 없는 이유로 삭제한것 같다. 문제 설명을 읽어보면 메모리 덤프 파일에서 워크스테이션의 hostname을 찾는것이 이번 문제의 목표이다. 메모리포렌식 문제를 풀 때는 Volatility 라는 도구를 사용한다. 이 분야에서 거의 독보적인 툴이다. https://hackingstudypad.tistory.com/188 [SANS SIFT Workstation] 최신버전 다운로드 및 설치방법 SANS SIFT Workstation 최신버전 다운로드 및 설치 방법에 대해서 알아보자. SIFT는 Sans Investigative Forensics T..

워게임/Root Me 2022.09.06

[CTFlearn] Simple Programming - 프로그래밍 / Python

CTFlearn의 열아홉번째 문제 이번엔 프로그래밍 문제이다. 해킹대회를 참가할때마다 느끼는 거지만 프로그래밍은 해킹하는데 필수로 잘해야 하는것 같다. 어려운 문제들은 반드시 코딩해서 풀어야 하기때문.. 프로그래밍 공부도 해야하는데 참 쉽지가 않다. 0의 개수가 3의 배수이거나 1의 개수가 2의 배수인 행의 개수를 찾는것 이것이 이번 문제의 목표이다. 말이 헷갈려서 몇번이나 읽어봤던거 같다. 문제에서 주어지는 data.dat 파일을 열어보면 이렇게 0과 1로 된 데이터들이 10000줄 들어있다. 사람이 일일이 계산하기는 불가능하기 때문에 프로그래밍이 필수이다. 여기서 각 line의 0과 1의 갯수를 센 후, 0의 개수가 3의 배수이거나 1의 개수가 2의 배수인 행를 세어주면 된다. f = open('da..

워게임/CTFlearn 2022.09.05

[rgbCTF] A Basic Challenge - MISC / Encoding

빵점 방지용 간단한 문제 말 그대로 basic challenge 수준이다. 문제파일로 basic_chall.txt 파일이 주어진다. 110100 1100100 100000 110101 110100 100000 110101 111001 100000 110111 111001 100000 110100 111001 100000 110100 110100 100000 110100 110101 100000 110011 110000 100000 110100 1100101 100000 110111 111001 100000 110100 110001 100000 110111 111000 100000 110100 1100101 100000 110100 110100 100000 110100 111001 100000 110110..

CTF/MISC 2022.09.04
반응형