일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 워게임
- CodeEngn
- WarGame
- 3번문제
- 포렌식
- 치트엔진
- xcz.kr
- cheatengine
- 치트엔진 튜토리얼
- 1번문제
- 워게임풀이
- suninatas
- CheatEngine Tutorial
- Couldn't invoke the file
- 8번문제
- 치트엔진 튜토리얼 게임
- wargame.kr
- WTF_CODE
- 6번문제
- xcz.kr 문제풀이
- reversing
- BasicRCE
- 시스템
- Couldn't in
- Basic RCE
- Web
- 써니나타스
- 오토잇디컴파일
- xcz.kr prob
- 리버싱
- Today
- Total
HackChang
[Suninatas] 써니나타스 1번 문제 풀이 본문
이번 문제는 웹 문제다.
php 소스를 볼 수 있고, 해석을 간단하게 해보자면
request로 str을 날리면 아래에서 result값에 대한 연산 후 result가 admin일 경우 pw를 출력해주는 느낌이다.
우선 위의 메세지박스에 문자를 넣고 check를 하면 GET방식으로 쿼리스트링이 날아가는 것을 볼 수 있다.
우선 str을 admin으로 넣고, 아래 연산을 진행해보겠다.
result = Replace(str,"a","aad")
result = Replace(result,"i","in")
result1 = Mid(result,2,2)
result2 = Mid(result,4,6)
result = result1 & result2
Replace는 해당 문자(문자열)를 치환시켜주는 함수다.
str안에 있는 문자열은 admin이고, 여기서 a라는 문자를 aad라는 문자열로 치환시키면 된다.
첫 번째 줄 실행 결과 - result = "aadmin"
두 번째 줄 실행 결과 - result = "addminn"
Mid함수는 해당 문자열(result)의 n번째(2,4)값 부터 m번째(2,6)값 까지 문자열을 뽑아주는 함수다.
세 번째 줄 실행 결과 - result1 = "dd"
네 번째 줄 실행 결과 - result2 = "minn"
다섯 번째 줄 실행 결과 = result = "ddminn"
우리가 원하는 결과인 admin이 아니므로, 위의 과정을 거쳐 admin이 나오는 문자를 찾으면 아래와 같다.
str = ami 일 때,
첫 번째 줄 실행 결과 - result = "aadmi"
두 번째 줄 실행 결과 - result = "aadmin"
세 번째 줄 실행 결과 - result1 = "ad"
네 번째 줄 실행 결과 - result2 = "min"
다섯 번째 줄 실행 결과 = result = "admin"
이렇게 str에 ami가 나오면 우리가 찾는 admin이 나온다.
str에 ami를 넣고 체크를 해보도록 하겠다.
인증을 성공했고, 키 값을 보도록 하겠다.
위의 키 값으로 인증을 하면 클리어가 된다.
'W4RG4M3 > W3B' 카테고리의 다른 글
[Suninatas] 써니나타스 4번 문제 풀이 (0) | 2020.07.30 |
---|---|
[Suninatas] 써니나타스 3번 문제 풀이 (0) | 2020.07.30 |
[Suninatas] 써니나타스 2번 문제 풀이 (0) | 2020.07.30 |
[xcz.kr] Prob21 21번 문제 풀이 (0) | 2020.07.23 |
[Webhacking.kr] 1번 문제 풀이 (0) | 2020.02.02 |