문제에는 .pcap 파일이 제공된다. 프로토콜을 정렬해보면 EAPOL 패킷을 확인할 수 있다. EAP Enscapsulation over LAN (EAPOL) : LAN, WAN을 통해 EAP 인증 메세지 패킷을 캡슐화하여 전달하는 프로토콜 (802.1X에서 정의됨) ( http://www.ktword.co.kr/test/view/view.php?m_temp1=1843 ) Version (1 바이트) : 1 EAPOL 타입 (1 바이트) - 0 (EAPOL-Packet) . 캡슐화된 EAP 프레임을 운반 . 주고받는 EAPOL 프레임 대부분이 이 타입임 . Body Length = 가변 . 이때의 Body는, EAP 프레임이 수납됨 - 1 (EAPOL-Start) . 사용자단말측이 Authenticato..
YARA Rule은 파일, 프로세스에서 특정 패턴을 식별하고 검색하는 데 사용되는 패턴 매칭 도구로 주로 악성코드 종류를 식별하고 분류하는 목적으로 사용된다. 먼저, 주어진 악성 코드를 HxD로 열어보았다. “Start” 파일은 ELF 파일임을 확인할 수 있었다. 문제에서 유사 악성코드가 한 번에 탐지되는 경우 FLAG가 출력된다고 했으니, 주어진 악성코드와 같은 ELF 파일들을 식별하는 코드를 제출하면 FLAG를 구할 수 있을 것이다! rule elf_file { condition: uint32(0) == 0x464c457f } 이 규칙은 ELF 파일 헤더의 처음 4바이트를 32비트 정수로 해석해 그 값이 “0x464c457f”인지 확인한다. (여기서 0x464c457f는 ELF 파일의 헤더다) 사이트..
이 문제는 보안문자를 300번을 풀면 FLAG가 출력되는 문제다! import re import base64 import requests import pytesseract from PIL import Image URL = 'https://captcha1.uctf.ir' cookies = { 'PHPSESSID': '7ecgsnlicl442qiu4veej63m1i', '926835342a210d84823968c8328cc3c8' : 'fa98c47354cfa95fd353ea8395ed0ae6' } image = re.search(r'data:image\/png;base64,([^"]*)"', requests.get(URL + '/', cookies=cookies).text)[1] with open("ima..
pcapng 파일과 master_key.s.log 파일이 주어진다. HTTPS 트래픽을 해독해 FLAG를 찾으면 된다! pcapng 파일을 열어 edit -> Preferences -> Protocols -> TLS로 이동해 (Pre)-Master-Secret log filename에 master_keys.log를 넣어준다. Protocol을 정렬해서 HTTP 부분을 확인했다. 문제에는 도메인이 mrgray.xyz라고 알려주었다. mrgray.xyz의 ip인 5.101.142.78의 통신을 확인해야 한다! Follow -> TLS Stream으로 내용을 살펴보자. TLS Stream에서 성공적으로 FLAG를 찾을 수 있었다! FLAG uctf{St._Sarkis_Church}
이 문제는 관리자 패널(http://admin-panel.local/)에 접근해야 하는 문제다! 관리자 패널을 바로 접속하면 "연결할 수 없음"이라고 뜬다. 문제에서 블로그 링크(https://ecorpblog.uctf.ir)를 주었다. 4개의 post가 존재하는데 각각 들어가보면 위와 같이 글만 적혀있다. 프록시로 잡아서 "/api/view.php"로 file:///posts/Azita 를 보내는 것을 확인했다. 관리자 패널 URL을 값으로 보내 보았다. 성공적으로 FLAG를 구했다! FLAG uctf{4z174_1n_urm14}
풀이는 간단하다 주어진 문자열은 base64로 인코딩 된 문자열이다! Vm14V1QxWldTblZqTTJoWlpXeEtNRmRJY0VaTlIwWTJWRzFhYTFaRmNEQlVWbEpUVDFFOVBRPT0= 를 디코드 했으나 VmxWT1ZWSnVjM2hZZWxKMFdIcEZNR0Y2VG1aa1ZFcDBUVlJTT1E9PQ== 또 bas64로 인코딩 된 문자열이 나왔다. 다음도 마찬가지였다. base64 코드를 총 5번의 디코드를 한 결과 FLAG를 구할 수 있었다!! FLAG UCTF{1_4m_14k3_u2m14}
htaccess를 우회하고 flag 파일을 확인하면 되는 문제다! part one과 part two 페이지로 이동하면 access 할 수 있는 권한이 없다고 나온다. one/flag.txt의 .htaccess 파일은 위와 같다. Host의 헤더가 "localhost" 와 일치하지 않으면 접근하지 못한다. -k: SSL 인증서 확인에 실패하더라도 curl이 요청을 수행하도록 허용하는 옵션. 자체 서명된 SSL 인증서를 사용해 서버에 요청할 때 자주 사용. -X $'GET': HTTP 요청 방법을 "GET"으로 지정. $'GET'은 쉘 이스케이프를 사용하여 GET 메서드를 지정하는 방법. -H $'Host: localhost': "Host" HTTP 헤더를 "localhost"로 설정. HTTP 요청을 보낼..
이 문제는 admin의 비밀번호를 찾으면 FLAG를 구할 수 있을 것이다! answer=if((select length(pw) from member where user_id='epsilon')=0, pow(~0, ~0), 0) answer 인자에 0~10까지 숫자를 늘려나가면서 비밀번호의 길이를 찾는다. 비밀번호의 길이는 7임을 알아냈다! answer=if((select substr(pw,1,1) from member where user_id='epsilon')=0, pow(~0, ~0), 0) 0~9까지 늘려가면서 비밀번호를 알아낸다. 첫 번째 비밀번호를 구했으면 (pw,2,1)로 두 번째 비밀번호를 알아내면된다. 마찬가지로 0~9까지 늘려나간다. if((select substr(pw,1,1) from..
- Total
- Today
- Yesterday
- 드림핵
- Steganography
- web
- AssaultCube
- CTF
- 인시큐어뱅크
- rev
- FTKImager
- Cookie
- 해킹
- 안드로이드
- cheatengine
- networking
- 스테가노그래피
- sqlinjection
- Android
- mongodb
- 포렌식
- MISC
- dreamhack
- reversing
- 모바일
- Fiesta
- SQLi
- forensics
- md5
- 취약점
- forensic
- 리버싱
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |