참새(참인턴) 블로그(30)
-
SuNiNaTaS - Forensics 30번 문제 풀이
메모리 덤프 파일을 다운 받는다. 다운받은 파일을 volatility 폴더로 이동시키고, 파일명을 “memory”로 변경했다. # Volatility 명령어 형식 - vol.py -f [이미지 경로] [플러그인] - vol.py -f [이미지 경로] --profile=[운영체제] [플러그인] imageinfo 플러그인으로 운영체제 정보를 확인할 수 있다. # vol.py -f memory imageinfo - 운영체제 정보 확인 profile에는 그림3에서 획득한 운영체제 정보를 입력하고 netscan 플러그인을 사용하면 김장군 PC의 IP주소를 알 수 있다. IP주소 – 192.168.197.138 # vol.py -f memory –profile=Win7SP1x86_23418 netscan - 네트워..
2020.10.02 -
[cce2020] forensic - [하] simple memory
문제 첫 화면이고 메모리 덤프 파일에서 악성코드를 찾는 문제다. 하단의 링크에서 덤프 파일을 다운 받고 압축해제를 했다. volatility로 운영체제를 분석한 결과는 'Win7SP1x64'다. 분석한 운영체제 정보로 프로세스 리스트를 출력했다. 프로세스 리스트를 훑어보다가 'malware.exe'라는 의심스러운 프로세스를 발견했다. procdump 플러그인을 사용해서 'malware.exe' 프로세스를 실행 가능한 파일로 덤프했다. 덤프한 파일의 hex값을 확인했더니 flag가 숨겨져 있었다. 파일 실행이 안돼서 윈도우로 파일을 옮겨와서 실행시켰다. cce2020{a755febafb7ed2179bdece02b8d35050}
2020.09.26 -
[cce2020] forensic - [하] sharkme
문제 첫 화면이고 비밀 문서가 해커에 의해 유출됐다. 유출된 문서를 조사하라는 문제다. 하단의 pcap 파일을 다운로드 해서 열어봤다. 파일이 유출됐으니까 ftp 프로토콜만 필터링 했다. 훑어보다가 'cce2020.docx' 파일이 유출된 흔적을 발견했다. ftp-data로 다시 필터링 했더니 파일이 전송됐음을 확인했다. 그림3의 패킷을 TCP Stream으로 열어서 파일 시그니처를 확인하고, 저장한 파일을 열었는데 열리지 않았다. 구글링 해보니까 저장할 때 RAW 모드로 저장해야 된다는 것을 알았다. 그래서 RAW 모드로 변경하고 다시 저장했다. 저장한 파일을 열었더니 flag가 나왔다. cce2020{baby-shark-doodoodoodoo-wire-shark-doodoodoodoo}
2020.09.26 -
[cce2020] web - [하] easy sqli
문제 첫 화면이고 하단에 웹페이지 링크가 있어서 클릭했다. 웹페이지는 위와 같이 로그인 페이지였다. sql injection 공격을 해서 로그인을 하는 문제라고 예상했다. 그래서 아래와 같이 아이디 뒤 구문을 주석 처리하는 공격문을 입력했다. id : admin'-- pw : 1234(임의로) 결과는 실패였다. 그래서 아이디는 그대로 두고 비밀번호를 무조건 참이 되게 하는 공격문을 아래와 같이 입력했다. id : admin pw : 1111'or'1'='1 cce2020{6802fa9c228a38122130dc48d6566353f37366acc7b5a326c880005ed554693d1d62ea143a7ee82ff40f1979d53de1a7e6db78621f5cda77}
2020.09.26 -
[C] 백준 2869번 - 달팽이는 올라가고 싶다
문제를 읽고, "반복문으로 V(높이)가 될 때까지 반복하면 되겠구나"라고 생각해서 아래의 코드를 작성했고, 결과는 시간 초과가 나왔다. 알고 보니 수학 문제였고, "예시를 통해 공식을 찾는 것이구나"하고 깨달았다. #include int main() { int height = 0; int day = 0; int A, B, V; scanf_s("%d %d %d", &A, &B, &V); while ((height += A) != V) { height -= B; day++; } printf("%d", day+1); } 예시 ① A=2, B=1, V=5 → X=4 1) 0+2-1=1 2) 1+2-1=2 3) 2+2-1=3 4) 3+2 ② A=3, B=1, V=5 → X=2 1) 0+3-1=2 2) 2+3 두 ..
2020.09.25 -
[C] 백준 2884번 - 알람 시계
아래의 경우로 나눠서 생각했다. i) M-45>=0 - 입력한 M(분)이 45보다 크거나 같은 경우는 H(시)는 그대로 출력, M(분)은 M-45로 출력 ex) 10 50 → 10 5, 10 45 → 10 0 0 55 → 0 10, 0 45 → 0 0 ii) M-45= 0) printf("%d %d\n", H, M - 45); else { if (H == 0) H = 24; printf("%d %d\n", H - 1, (60 + M) - 45); } } 잘못된 점이 있으면 아래 댓글로 많이 남겨주세요! 감사합니다.
2020.07.17