Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 코로나
- vscode
- 해커
- 해킹
- jango
- rev-basic-6
- csaw
- rev-basic-3
- dreamhack
- 해킹문제
- 파이썬
- basic4
- 코로나바이러스
- web
- AndroidOS
- 파이썬웹
- rev-basic-4
- 바이러스
- 리버싱
- djangovscode
- 백준
- 모세포
- 웹해킹
- 장고
- Django
- 장고vscode
- reversing
- 취약점점검
- webhacking.kr문제풀이
- csaw 2018
Archives
- Today
- Total
Kilkat
[dreamhack] Inject ME!!! 본문
문제 설명을 확인해보니 특정 조건에 맞춰서 DLL을 로드하면 Flag를 획득할 수 있을 것으로 예상됨
첨부된 dll을 확인해보면 64비트 C++로 짜여진 DLL인 것을 확인할 수 있음
FUN_1800011a0에서 Call 되고 있는 function들을 확인해보면 GetModuleFileNameA, PathFindFileNameA, strncmp, MessageBoxA와 같은 Function들을 호출하고 있는 것을 확인할 수 있음
strncmp의 경우 문자열을 비교하는 함수일테니 해당 함수를 중점으로 확인해보면 될 것 같음
GetModuleFileNameA를 사용하여 호출된 프로세스의 Full Path를 반환하며, 해당 값을 PathFindFileNameA 함수를 사용하여 local_2d8 변수에 저장하는 것을 확인할 수 있음
따라서 해당 dll을 로드하는 exe파일 이름은 dreamhack.exe로 이루어져야함
#include <windows.h>
#include <iostream>
int main() {
LoadLibrary(L"C:\\prob_rev.dll");
std::cout << "DLL 로드 시도 완료." << std::endl;
return 0;
}
해당 코드를 사용하여 dll을 로드하면
MessageBox가 팝업되는 것을 확인할 수 있음
성공!
'Security > reverse engineering' 카테고리의 다른 글
[dreamhack] Simple Patch Me (0) | 2025.02.10 |
---|---|
[dreamhack] Secure Mail (0) | 2025.02.09 |
[dreamhack] rev-basic-6 (0) | 2024.12.25 |
[dreamhack] rev-basic-4 (0) | 2024.12.25 |
[dreamhack] rev-basic-3 (0) | 2024.12.10 |
Comments