일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- element 조회
- 백준 알고리즘
- Pwndbg
- object
- window
- lord of sql injection
- github
- python
- 객체
- jQuery
- IF문
- 김성엽 대표님
- burp suite
- xss game 풀이
- 포인터
- sql injection
- blind sql injection
- 백준 파이썬
- 메소드
- 사칙연산
- property
- xss game
- htmlspecialchars
- 파이썬
- 함수
- suninatas 풀이
- 배열
- 자바스크립트
- 조건문
- document
- Today
- Total
power-girl0-0
[webhacking.kr - old] 41번 본문
주소 : https://webhacking.kr/old.php
[ 풀이 ]
소스코드를 살펴보자.
위 소스코드를 살펴보면 . < > / 등을 필터링하고 있다.
또한 ./{$upload_dir}/{$fn}이라는 파일 경로를 복사하여, flag값을 쓰는 코드인 듯 하다.
그래서 $upload_dir에 대한 값을 알면, 왠지 flag값을 알 수 있을듯하다. 아마듀 @_@
어떻게 하지 고민하다가, 위쪽의 소스코드에 error에 대한 코드를 볼 수 있었다.
엄,,, 에러에 관한 소스코드이긴 한데,,, 처음보는 함수(?)였다....ㅠ_ㅠ
서칭을 통해, 알아보니 에러를 출력해주는 코드이다.
또한, 에러가 출력되면 파일 경로까지 같이 출력시켜주는 에러인 듯 하다.
에러를 어떻게 발생시킬까? 고민하던 중 오버플로우가 생각이 났다.
일정 값보다 많은 값을 입력시켜서 에러 발생을 시도해보았다.
위 코드를 보면, name은 up이어야 조건문에 잡히지 않으므로 filename의 값의 크기를 크게 해서 전송하였다.
이는 아래와 같으며, burp suite툴을 이용하였다.
그 결과, 웹 페이지에서 에러메시지가 출력되는 것을 확인할 수 있었다.
오~_~ 찾았다!! ./{$upload_dir}이 ./4b0e87fef7b5e8ba83894970c9806042e5d6ec9a인 것을 알았다 ㅎ_ㅎ
이제 뒤에 경로인 /{fn}을 생성해서 해당 경로로 이동해보자.
에러 발생전 webshell.php파일을 업로드했으므로, ./4b0e87fef7b5e8ba83894970c9806042e5d6ec9a뒤에 필터링되는 . 을 제외하고 webshellphp로 경로를 이동해보았다.
짜란~~ flag값을 얻을 수 있었다!
해당 flag값을 auth에 입력하여, 정답처리를 해보자 ^_^ 클리어 ~~
'War game > webhacking.kr' 카테고리의 다른 글
[webhacking.kr - old] 43번 (0) | 2021.07.01 |
---|---|
[webhacking.kr - old] 42번 (0) | 2021.07.01 |
[webhacking.kr - old] 39번 (0) | 2021.06.30 |
[webhacking.kr - old] 38번 (0) | 2021.06.30 |
[webhacking.kr - old] 36번 (0) | 2021.06.29 |