일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Spring MVC
- Payload
- SQL
- Spring
- 운영체제
- System
- 해킹
- 정보보안기사 실기
- 워게임
- Shell code
- wargame
- Pwnable.kr
- PWN
- 정보보안기사
- 정보처리기사 실기
- Spring Framework
- OS
- system hacking
- 네트워크
- Operating System
- webhacking.kr
- 웹해킹
- stack overflow
- Buffer Overflow
- webhacking
- Lord of BOF
- hacking
- LOB
- BOF
- pwnable
- Today
- Total
DongDD's IT
[webhacking.kr] Level 33 (9~10) - END 본문
[webhacking.kr] Level 33
남은 문제가 몇개인지 모르지만 오늘은 마무리 해보려고 한다.
풀다가 길어지면 다른 게시글로 올릴 것 같다.
97~122까지 for문을 돌리면서 i를 2씩 증가시켜주며 chr함수를 이용해 숫자를 아스키코드로 바꿔주고 answer에 넣어주는 것 처럼 보인다.
그리고 GET방식으로 넘겨주는 ans와 비교해 같다면 다음 단계로 넘어갈 수 있는 구조로 되어있다.
abcdefghijklmnopqrstuvwxyz -> acegikmoqsuwy
이번 문제는 어려운 것 없이 무난하게 통과할 수 있었던 것 같다.
이번 문제는 Wrong이라는 출력 문구가 없이 그냥 소스코드 주소만 있었다.
소스코드를 보니 이번 문제가 마지막 문제인 것 같다.
REMOTE_ADDR을 ip에 넣어주고 for문을 ip길이 까지 돌리면서 숫자로 되어있는 값을 아스키코드 문자로 바꿔준다.
그 이후에 .을 모두 없애주고 0~10에 해당하는 문자 10글자만 ip에 넣어준다.
mkdir을 이용하여 directory를 생성한다.
이 디렉토리는 서버쪽에 생성되는 것 같다.
그다음 여러 연산을 거치고
fopen하는 위치로 들어가면 password를 볼 수 있을 것 같다.
Local에서 php를 이용하여 값을 구해보았다.
저 값을 이용해 해당 디렉토리로 들어가 파일을 열어보면 패스워드가 나올 것 같다.
제대로 된 주소로 들어가니 Password와 내 IP주소가 출력되는 것을 볼 수 있었다..
************** Answer & Flag **************
이렇게 해서 길고 길었던 33번 문제를 해결할 수 있었다.
뭔가 문제가 계속 연계되니 오기도 생기고 재밌게 풀 수 있었던 것 같다.
HTTP 전송 방식에 대해서도 더 자세히 알 수 있는 계기가 됐던것 같다.
'Wargame > webhacking.kr' 카테고리의 다른 글
[webhacking.kr] Level 23 (0) | 2017.09.08 |
---|---|
[webhacking.kr] Level 6 (0) | 2017.09.07 |
[webhacking.kr] Level 33 (5~8) (0) | 2017.09.01 |
[webhacking.kr] Level 33 (1~4) (0) | 2017.08.31 |
[webhacking.kr] Level 38 (0) | 2017.08.31 |