webhacking.kr alt 26


webhacking.kr alt 26 1

문제에 들어갔을 때 아무것도 보이지 않아서 소스 코드를 확인했습니다.


webhacking.kr alt 26 2

ID는 PHP 부분에서 중요한 것 같았고,

get 형식으로 받은 아이디는 admin인 것 같아서 URL 인코딩을 admin으로 했습니다.

URL 인코딩 참조

https://kdh2625.705

Javascript encodeURI – URL 인코딩 테이블 – 창 열기에서 한글 깨진 utf-8

JavaScript에서 다음 함수는 HTML 페이지 주소를 인코딩/디코딩합니다.

encodeURI() / decodeURI() 최소 문자를 인코딩합니다.

; / ? : @ & = + $ , – . !
~ * ‘ ( ) # 이 문자들의 인코딩

kdh2625.tistory.com


webhacking.kr alt 26 3

관리자 = %61%64%6D%69%6E


webhacking.kr alt 26 4

URL에 인코딩된 값을 넣었는데 no!

나는 찾고 있었다 이것은 preg_match() 함수 때문입니다.

웹 서버와 브라우저 간에 데이터를 교환할 때 브라우저는 폼에서 입력된 데이터를 암호화된 값으로 자동 전송하고 php는 자동으로 이를 복호화합니다.

따라서 %61%64%6D%69%6E 값을 다시 인코딩하여 해결할 수 있습니다.

https://meyerweb.com/eric/tools/dencoder/

URL 디코더/인코더

meyerweb.com

코딩은 위 사이트에서 했습니다.


webhacking.kr alt 26 5

%2561%2564%256D%2569%256E ID 값에 이 값을 다시 입력했습니다.


webhacking.kr alt 26 6

성공!
!

참조

https://izeus12.26

webhacking.kr 질문 26 (구)

바로 소스를 확인해보자. 소스를 보면 아주 간단한 문제인 것 같습니다.

GET 형식으로 받은 ID 값이 admin이면 공유된 것으로 나타납니다.

단, 조건문 위의 preg_match 함수를 사용하여 admin의 값을 필터링

izeus12.tistory.com