반응형

사이버 424

[CTFlearn] Calculat3 M3 - 웹해킹 / Command Injection

CTFlearn의 서른아홉번째 문제 이번에는 Hard 난이도의 웹해킹 문제이다. 사실 어떻게 보면 진짜 쉬운 문제인데 난이도가 Hard 라고 적혀있어서 어렵게만 생각하다가 푸는데 시간이 좀 걸렸다. 문제 페이지에 접속하면 이렇게 계산기 하나가 나온다. 이렇게 수식을 입력하고 = 버튼을 누르면 화면 왼쪽 상단에 계산결과가 출력되는 간단한 기능을 가지고 있다. F12를 눌러 개발자도구에서 해당 페이지의 js 코드를 살펴본다. 사용자에게 입력받은 수식을 eval 함수를 이용해 계산해서 출력해주는듯 하다. 온라인 컴파일러로 확인해보니 맞는것 같다. eval 함수는 굉장히 강력하지만 악용될 경우 운영체제 명령어를 실행시키는데 사용될 수도 있다. 오랜만에 Burp Suite 를 이용해 문제를 풀었다. = 버튼을 눌..

워게임/CTFlearn 2022.11.27

[Root Me] XSS - Reflected - 웹해킹 / 크로스사이트스크립트

Root Me 에서 제공하는 세번째 XSS 문제 (첫번째 문제 : https://hackingstudypad.tistory.com/48) (두번째 문제 : https://hackingstudypad.tistory.com/297) 지난 문제들 풀이를 보고오면 조금 더 이해하기 쉽다. 이번엔 Stored 가 아니라 Reflected XSS에 관한 문제인데, 둘의 차이는 공격 페이로드가 게시글, 댓글과 같은 형태로 DB에 저장되는지, URL 등을 통해 전달되어 DB에 저장되지 않는지를 보고 구분한다. 문제설명을 읽어보면 문제의 목표는 administrator 의 cookie 값을 훔치는 것이다. admin 은 보안에 굉장히 민감해서 수상한 링크는 클릭하지 않을것이라고 경고하고 있다. 그럼 그냥 클릭하지 않아도..

워게임/Root Me 2022.11.25

[b01lers CTF] Programs Only - 웹해킹 / 헤더변조 / robots.txt

쉬운 난이도의 웹해킹 문제 별다른 소스파일은 주어지지 않고 문제 페이지 주소만 제공된다. 문제 페이지에 접속하면 이런 화면이 나온다. Tron City, Sea of Simulation, Disc Areana, 0001001 Club.. 뭔가 사이버틱 한 사진들이 있고, 맨 위에는 환영문구처럼 보이는 멘드가 써있는데 Welcome 'Mozilla/5.0 (WindowsNT 10.0; Win64; x64) AppleWebKit/537.36 ( KHTML, like Gecko) Chrome/85.0.4183.121 Safrari/537.36' to The Grid 라고 적혀있다. 파란색으로 표시한 부분이 뭔가 익숙한데, 이건 일반적으로 요청 헤더에서 일반적으로 볼 수 있는 user-agent 헤더의 내용이다..

CTF/웹해킹 2022.11.24

[CTFlearn] Modern Gaius Julius Caesar - 암호학 / 카이사르암호

CTFlearn의 서른 여덟번째 문제 계속해서 이어지는 암호학 문제이다. 이번 문제는 제목에 있는것 처럼 Caesar 암호와 관련된 문제이다. Caesar는 '카이사르' 라고도 읽힌다. 들어본 사람도 있겠지만, 카이사르는 로마의 황제 이름이다. 카이사르는 동맹군들과 소통해기 위해서 위 그림처럼 알파벳을 몇칸 씩 뒤로 옮겨 새로운 글자로 암호문을 만들었는데 이게 바로 카이사르 암호이다. 예를들어 Apple 라는 단어가 있다면, 이것을 한칸씩 알파벳을 뒤로 옮겨서 Bqqmf 라는 암호를 만드는 것이다. 하지만 문제 설명을 읽어보면 21세기에 누가 알파벳만 가지고 암호문을 만드냐며 keyboard 를 잘 이용해 보라고 한다. BUH'tdy,|Bim5y~Bdt76yQ 주어지는 암호문은 이것이다. 처음엔 알파벳만..

워게임/CTFlearn 2022.11.23

[TastelessCTF] 7/11 - 포렌식 / Binwalk / dd

간단한 포렌식 문제이다. 문제 제목이 세븐일레븐인데 7z 파일을 제공해서 그런건가 싶다. 문제에서 주어지는 것은 challenge.7z 파일이다. 바로 압축을 풀어봤는데, 안에는 password.txt 파일 하나만 들어있다. password.txt 파일의 내용은 이것이 다다. give_me_the_flag 라고 적혀있다. 여기서 꽤 오랜시간이 걸렸는데 txt 파일을 아무리 살펴봐도 저 문장 외에는 아무것도 특별한게 없었기 때문이다. 문제는 challenge.7z 파일 그 자체였다. binwalk 명령어로 확인해보니 7z 파일 안에 또다른 7z 파일이 숨어있었다. dd 명령어로 해당 파일을 한번 추출해 봤다. if 로 읽을 파일을 지정해주고, bs 는 한번에 읽을 바이트를 지정해주는 것이다. 1로 지정하면..

CTF/포렌식 2022.11.22

[Root Me] Crypt-art - 암호학 / Piet / Vigenere Cipher

Root Me 에서 제공하는 암호학 문제 분류는 스테가노그래피로 되어있는데 암호학적인 요소가 있어서 그렇게 다시 분류했다. 문제 설명을 읽어보면 경찰이 테러리스트 그룹의 메세지를 가로챘는데, 메세지에는 다른 통신을 암호화하기 위한 비밀 키가 숨겨져 있다고 한다. 그걸 찾아서 decrypt 하는것이 문제의 목표이다. 문제에서 주어지는건 ch8.ppm 파일이다. ppm 이라는 확장자를 난생 처음봤는데 칼리 리눅스로 파일을 옮겨보니 뭔가 그림이 보였다. 찾아보니 Portable PixMap 의 약자로 이미지 파일의 한 종류라고 한다. 일반적인 이미지 뷰어로는 볼 수가 없어서 어떻게 해야하나 고민하다가 cat 명령어로 파일 내용을 한번 봤더니 수상한 문자열들이 보였다. Hi! Welcome to esoteric..

워게임/Root Me 2022.11.19

[2020CCE] Analysis of information leaked during teleconference - 포렌식 / Wireshark

이번부터 풀이할 문제는 2020년에 진행되었던 국정원 주최 사이버공격방어대회 본선 문제이다. 본선에서는 예선과 조금 다르게 침해사고 조사 위주로 문제가 나왔었다. 대회 당시에 캡쳐를 제대로 해놓지 않아서 기억에 의존해서 풀이를 작성하는거라 정확하지 않을 수 있다. 이번 문제는 간단한 네트워크 포렌식 문제이다. 문제에서 주어지는 파일은 dump.pcap 파일이다. pcap 파일은 패킷캡쳐 파일로 Wireshark 라는 도구를 이용해 열어볼 수 있다. 와이어샤크로 열면 이런 화면이 나온다. 패킷 갯수가 609개 밖에 없는 작은 파일이다. 조금 내리다 보니 13.124.89.133 이라는 호스트에서 뭔가를 다운로드 받고 있는게 보였다. 어떤걸 다운로드 받았는지 추출해 보기로 했다. File - Export O..

CTF/포렌식 2022.11.18

[CTFlearn] 5x5 Crypto - 암호학 / Python

CTFlearn의 서른일곱번째 문제 이번에는 암호학 문제이다. 항상 암호학 문제가 나오면 두려운데 이번 문제는 그래도 쉬운편이라 다행이다. 문제 설명을 읽어보면 뭐 거의 풀이법을 다 알려주는거나 마찬가지다. 5x5 행렬을 하나 만들어서 순서대로 알파벳을 채워넣는데, k 는 c와 발음이 같기 때문에 제외하고 25글자를 순서대로 배치한다. 그리고 나서 원래 행렬 읽는것처럼 한글자씩 읽어서 데이터를 가져오는데 이것을 5x5 Crypto 라고 한다고 한다. 우선 k를 제외하고 5x5 형태로 알파벳을 배치하면 이런 형태가 될것이다. 1-3,4-4,2-1,{,4-4,2-3,4-5,3-2,1-2,4-3,_,4-5,3-5,} 문제에서 주어지는 암호문은 이건데, 첫번째 거를 한번 풀어보면, 1-3 이니까 이렇게 찾아가서..

워게임/CTFlearn 2022.11.17

[HackTheBox] LoveTok - 웹해킹 / Command Injection

HackTheBox 에서 제공하는 LoveTok 문제 웹해킹 문제로 Command Injection 취약점을 이용한 문제이다. 문제페이지에 접속했을 때 화면이다. You'll find love: 라고하면서 어떤 시간을 알려주고 있다. 아래쪽에 있는 Nah, that doesn't work for me. Try again! 이라는 문구는 위에 있는 시간이 마음에 들지 않을 때 누르는 버튼이다. 버튼을 누르면 URL이 /?format=r 이라고 바뀌면서 시간도 같이 바뀌게 된다. 주어지는 소스코드도 같이 살펴보자. TimeController.php 파일을 먼저 살펴본다. isset 으로 format 파라미터가 GET 요청에 있으면 그대로 쓰고, 없으면 r 값을 넣어준다. 이건 아까 빨간 버튼 눌러서 확인한 ..

[CTFlearn] Inj3ction Time - 웹해킹 / SQL Injection

CTFlearn의 서른 여섯번째 문제 사실 이 문제는 이전에 포스팅한 문제보다 훨씬 앞에 있는데 빼먹고 넘어가버려서 실제 CTFlearn에 있는 문제 순서와 포스팅 순서가 조금 다르게 되어버렸다. 오랜만에 만난 Hard 난이도의 문제이다. 점수는 무려 100점이다. 난이도와 점수때문에 조금 흠칫 할수도 있지만 이 문제는 SQL Injection의 정석같은 문제라 그렇게 어렵지 않게 풀 수 있다. 문제설명에서 문제 페이지 주소가 제공되고, 힌트로 UNION 이 도움이 될 거라고 알려주고 있다. 문제페이지에 접속하면 이런 화면이 나온다. Dog Viewer 라고 되어있고, ID를 입력할 수 있는 칸이 보인다. 아래쪽에 나오는 정보를 보니 강아지들 정보를 조회하는 기능인것 같다. 시험삼아 ID 입력창에 HEL..

워게임/CTFlearn 2022.11.13
반응형