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..
숨겨진 table을 찾아서 그 table의 column 이름을 찾으면 FLAG를 찾을 수 있을 것 같다! 먼저 hi%' UNION SELECT '', SCHEMA_NAME, '', '', '', '', '', '' FROM INFORMATION_SCHEMA.SCHEMATA -- 구문으로 데이터베이스에서 스키마를 찾아냈다! 다음은 hi' UNION SELECT '', TABLE_NAME , '', '', '', '', '', '' FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA =' sqli102 ' -- 구문으로 finde me라는 table 명을 찾았다!!! 마지막으로 hi' UNION SELECT '', COLUMN_NAME, '', '', '', '', ''..
- Total
- Today
- Yesterday
- Cookie
- 리버싱
- mongodb
- FTKImager
- 해킹
- 안드로이드
- SQLi
- cheatengine
- 모바일
- md5
- web
- forensics
- 드림핵
- 인시큐어뱅크
- 취약점
- dreamhack
- Steganography
- AssaultCube
- 스테가노그래피
- CTF
- Android
- reversing
- Fiesta
- forensic
- rev
- sqlinjection
- MISC
- networking
- 포렌식
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |