일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 알고리즘
- Navigation
- 데이터베이스의기본
- 하단탭바알림
- 모두의딥러닝
- 플러터공부
- 면접을위한CS전공지식노트
- 플러터앱개발
- Flutter
- ReactNative
- 화면이동
- react
- date-fns
- 정보보호
- 플러터앱개발공부
- 명령형프로그래밍
- Object~
- 선언형프로그래밍
- 앱개발
- 앱개발공부
- BottomTabNavigation
- tabBarBadge
- 날짜포맷팅
- 웹해킹
- OpenWeatherApi
- Flutter공부
- RectQuery
- 딥러닝
- BottomTabBarNavigator
- 플러터
- Today
- Total
기록하기
[코드엔진] Basic RCE L05 ~ Basic RCE L09 풀이 본문
Basic RCE L05
이 프로그램의 등록키는 무엇인가
다운로드한 프로그램을 실행 시키면 이러한 창이 뜬다. 이 프로그램의 등록키를 찾아야 하는 것 같다!
1.
다음 어떻게 해야할지 몰라서 서치를 해보니 UPX로 패킹 되어 있다는 사실을 알게 됐다. 그래서 UPX를 Window 버전에 맞게 다운로드를 한 뒤 언패킹을 하기 위해 프로그램과 UPX 프로그램의 위치를 동일하게 만들어 준 뒤
명령어 : upx -d 05.exe
명령어를 입력해서 프로그램을 언패킹하는데 성공했다!
2.
올리디버거라는 프로그램을 다운로드 한 후 05.exe 파일을 실행 시켰다. 그리고 무한 스크롤을 내려.. 성공 구문을 찾았다.
그런데 자세히 보면 성공 구문 위에 Registered User와 아스키코드로 등록키가 적혀 있는 것을 확인할 수 있다.
3.
이게 답이겠지.. 확신하고..? 프로그램에 직접 입력해 봤다.
그럼 이 성공했다는 창이 뜨는 걸 확인할 수 있다!!
Basic RCE L06
Unpack을 한 후 Serial을 찾으시오.
정답인증은 OEP + Serial
Ex) 00400000PASSWORD
1.
06번 프로그램을 다운로드 후 실행하면 위 사진과 같은 창이 뜨는 걸 확인 할 수 있다. 이 프로그램 또한 언패킹을 해줘야한다.
명령어 : upx -d 06.exe
2.
언패킹을 완료한 후 올리디버거 프로그램으로 06문제를 열었더니 시작위치가 OEP였다. OEP란 main함수가 시작하는 위치이다.
3.
스크롤을 올리다 보니 아스키코드가 적혀 있는 부분을 찾았다.
그리고 아스키코드 밑에는 성공 구문히 적혀 있었다. 그리고 Serial 값은 AD46DFS547인 것을 알 수 있었다.
4.
06번 프로그램에 AD46DFS547을 입력해주면 성공했다는 창이 띄워지는걸 확인할 수 있다.
Serial : AD46DFS547
OEP : 00401360
이라서 답은 00401360AD46DFS547이다.
Basic RCE L07
컴퓨터 C 드라이브의 이름이 CodeEngn 일경우 시리얼이 생성될때 CodeEngn은 'ß어떤것'으로 변경되는가
1.
이 문제도 올리디버거로 프로그램을 실행시켰다. 프로그램을 실행시켜 main함수를 찾았고, 클릭한 부분 아래에 serial값이 틀렸을 때와 맞았을때 실행되는 구문이 적혀있다.
2.
막.. 실행시켜보면 serial 값이 변한다..
CodeEngn
CodeEngn4562-ABEX
EqfgEngn4562-ABEX
L2C-5781EqfgEngn4562-ABEX
답은 L2C-5781EqfgEngn4562-ABEX이다.
Basic RCE L08
OEP를 구하시오 Ex) 00400000
1.
UPX로 패킹되어 있기 때문에 먼저 cmd창에서 명령어를 입력해 언패킹해줬다.
명령어 : upx -d 08.exe
2.
언패킹한 프로그램을 올리디버그로 열면 OEP를 바로 알 수 있다.
그래서 답은 01012375인 것을 알 수 있다!
Basic RCE L09
StolenByte를 구하시오 Ex) 75156A0068352040
1.
우선 프로그램 언패킹 먼저 해줬다.
명령어 : upx -d 09.exe
2.
실행시키면 이러한 에러가 뜬다.. 사실 어떻게 해결하는지 모르겠어서 설명만을 적도록 하겠다.
StolenByte를 구할 때는 수동으로 UPX를 언패킹하면서 StolenByte를 찾아야한다. 근데 나는 위에 명령어를 입력해서 자동으로 하게 했기 때문에 (망햇따..)
먼저 PUSHAD를 실행시킨 후 모든 레지스터 값이 stack에 저장되고 나중에 디코딩 하고 난 후 프로그램이 정상적으로 실행되기 위해 stack에 저장된 레지스터 값에 접근할 때 브레이크포인트를 걸어 OEP를 찾아야한다.
POPAD에서 브레이크 포인트가 걸렸고.. stack에 저장된 값을 다시 레지스터에 저장하기 위해 POPAD를 해서 다 빼냈다.
그래서 StolenByte를 입력해 보았는데 6A0068002040006812204000이 답인 것을 알 수 있다.
설명 출처 : https://covetknowledge.tistory.com/28
CodeEngn basic 9번 문제 풀이
CodeEngn basic 9번 문제 StolenByte를 구하시오 Ex)75156A0068352040 실행을 하여보니 keyfile을 찾아야하는 것 같지만 CodeEngn 문제가 단순히 StolenByte를 구하는 것이므로 keyfile은 찾지않겠다. StoleByte를 구하는
covetknowledge.tistory.com
'정보보호' 카테고리의 다른 글
[정보보호] 최근 사이버보안 동향에 대해 알아보자! (0) | 2023.08.20 |
---|---|
[정보보호] 웹의 취약점 보완 (0) | 2023.06.15 |
[정보보호] 웹 취약점의 이해 (0) | 2023.06.15 |
[정보보호] HTTP의 이해 (0) | 2023.06.15 |
[정보보호] CSRF 공격 기법 (0) | 2023.06.15 |