Reversing/WriteUp2017. 2. 17. 17:41

문제사이트 : Codegate

문제이름 : BabyMISC

링크 : X


풀이


↑STAGE 1의 코드이다. 분석해보니 사용자에게 입력받는 값의 base64decode 값이

TjBfbTRuX2M0bDFfYWc0aW5fWTNzdDNyZDR5Oig=의 디코드 값과 같아야 하며

입력한 값과 길이도 같아야 한다. 그런데 TjBfbTRuX2M0bDFfYWc0aW5fWTNzdDNyZDR5Oig=과 입력한값이 같으면 안된다.

언듯 보았을 때는 모순적으로 보일수도 있다. 하지만 base64의 특성을 이용하여 마지막값만 하나 바꿔서 입력해주면 넘어간다.

입력 : TjBfbTRuX2M0bDFfYWc0aW5fWTNzdDNyZDR5Oih=



↑끝자리만 h로 바꿔주자 다음 스테이지로 넘어갔다.



↑STAGE 2는 두번 값을 입력받는데, 그 두개의 입력값의 길이가 다르며 base64decode 값은 같아야 한다.

이 또한 모순적일 수 있으나 단지 두번째 값에 =을 하나더 붙여주면 넘어가는 스테이지 이다.



↑등호 하나만 더 입력해주자 넘어가 졌다.

입력 : TjBfbTRuX2M0bDFfYWc0aW5fWTNzdDNyZDR5Oih=

TjBfbTRuX2M0bDFfYWc0aW5fWTNzdDNyZDR5Oih==



↑마지막으로 우리에게 단 하나의 명령어를 base64로 입력할 수 있는 기회를 준다. 하지만 분석해보면

[/|$|-|_|&|>|`|'|"|%|;]|(cat)|(flag)|(bin)|(sh)|(bash) 을 필터링 하고 있다.



↑ 필터링 하는 모습.


서버로 연결한 것이 아닌 파일을 실행해서 푸는거라 STAGE3을 푸는 사진은 캡처하지 못했다.


기억나는 대로 쓰자면 우선 ls -la를 base64코드로 입력하여 플래그 파일을 찾는다.


그리고 head * 명령어를 base64코드로 입력해 주면 플래그 파일이 출력되며 결과를 알 수 있다.


head 명령어는 파일의 내용을 위에서부터 10줄 출력해 내는 명령어 이다.



'Reversing > WriteUp' 카테고리의 다른 글

[Reversing.kr] CSHARP  (0) 2017.02.21
[Reversing.kr] Ransomware  (0) 2017.02.21
[Reversing.kr] Replace  (0) 2017.02.21
[Reversing.kr] Easy Crack  (0) 2017.02.12
[xcz] Prob9_Easy Reversing  (0) 2017.02.10
Posted by BadSchool
Reversing/WriteUp2017. 2. 12. 16:36

문제사이트 : Reversing.kr

문제이름 : Easy Crack

링크 : http://reversing.kr/challenge.php


풀이


↑프로그램을 실행하여 text목록을 보니 익숙한 멘트들이 보였다.

 

↑빨간부분에서 정답인지 아닌지 확인한다.

 

↑12345678을 입력하고 시작지점에 브레이크 포인트를 걸고 보니

파란색 CMP 부분에서 내가 입력한 2와 아스키코드 61을 비교하였다.

61은 a 이므로 두번째 글자는 a이다.

Pw = XaXXXXXXX

 

 

↑1a345678을 입력하고 더 내려가 보니 5y라는 문자열이 보인다.

스크린샷을 못찍었지만 밑의 call문에서 34와 5y를 비교한다.

pw = Xa5yXXXXXX

 

 

↑1a5y5678를 입력하고 내려가보니 아주 수상한 R3versing이라는 문자열이 보인다.

파란색의 밑에부분부터 보면 내가 입력한 5678문자열과 R3versing문자열을 반복문으로 비교한다.

따라서 뒷부분은 R3versing

pw = Xa5yR3versing

 

 

↑마지막으로 첫번째 글자만 알아내면 된다. 사진의 CMP부분을보면 내가입력한

1가 45를 비교한다. 45는 아스키코드표에서 E로 나오므로 첫번째 글자는 E이다.

 

 

↑따라서 비밀번호는 Ea5yR3versing


'Reversing > WriteUp' 카테고리의 다른 글

[Reversing.kr] CSHARP  (0) 2017.02.21
[Reversing.kr] Ransomware  (0) 2017.02.21
[Reversing.kr] Replace  (0) 2017.02.21
[2017codegate] BabyMISC  (0) 2017.02.17
[xcz] Prob9_Easy Reversing  (0) 2017.02.10
Posted by BadSchool
Reversing/WriteUp2017. 2. 10. 22:57

문제사이트 : XCZ

문제이름 : Prob9_Easy Reversing

링크 : http://xcz.kr/START/prob/prob9.php


풀이 :


↑REV.exe파일을 다운로드받아 ID에 1234, PW에 5678을 입력한 모습

우측 상단을 보면 내가 입력한 ID값인 1234와 "XCZ"라는 문자열을 비교하고있다.


↑이와같이 ID가 XCZ가 아닐 시에는 who are you???출력 부분으로 점프한다.

따라서 ID = XCZ

↑ID를 XCZ로 입력하고 쭉 넘어가보니 아까와 비슷한 상황이 나온다.

똑같이 생각하여 PW = UNL1M1T


↑실행 후 ID와 PW를 입력해주면 키값이 나온다.

'Reversing > WriteUp' 카테고리의 다른 글

[Reversing.kr] CSHARP  (0) 2017.02.21
[Reversing.kr] Ransomware  (0) 2017.02.21
[Reversing.kr] Replace  (0) 2017.02.21
[2017codegate] BabyMISC  (0) 2017.02.17
[Reversing.kr] Easy Crack  (0) 2017.02.12
Posted by BadSchool