level26[old]

2022. 3. 17. 00:06Site/Webhacking.kr

이번시간에는 level26을 풀어보겠습니다

공부하는 입장이라 틀린것이 있더라도 양해부탁드리겠습니다


level26에 접속하는 검은색 화면에다 view-source라는 링크밖에 보이지 않습니다

일단 클릭해봅니다

두번째 php부분을 보면 preg_match로 GET방식으로 불러온 id값에 admin이 있다면 no출력을하고

urldecode한 id값을 id에 저장합니다

(구글링을 해보니 php에 인코딩, 디코딩을 할수있는함수가 있더군요...(urlencode(), urldecode()) 오랜만에 php를 보니 까먹었네요...공부좀해야될것같습니다...)

그 후 id값이 admin과 일치하면 해결되네요

 

*

php

urlencode($string str):url쿼리에쓸수있도록 인코딩

urldecode($string str):url로 인코딩 -> 디코딩

preg_match() :문자열에서 패턴을 검색하여 존재하면 true를, 그렇지 않으면 false 를 반환

*

 

from https://super-cert.tistory.com/entry/url-%EC%9D%B8%EC%BD%94%EB%94%A9-%ED%91%9C

 

admin을 인코딩 하기위해 url인코딩 표를 참조했습니다

a = %61, d = %64, m = %6d, i = %69, n = %6e -> %61%64%6d%69%6e

GET방식으로 남겨주니 url에 id을 %61%64%6d%69%6e로 입력해주었습니다

인코딩한 값을 넣어주니 no!라고 뜨고 인코딩 값이 안나오고 admin으로 바뀌네요...

그냥 admin이라고 입력해줘도 똑같습니다

찾아보니 브라우저에서 입력받은 데이터를 자동으로 인코딩한 값을 php 서버로 전송하고 php는 브라우저에서 받은 인코딩된 값을 자동으로 디코딩한다고 합니다

결론 : 다시한번 인코딩을 해주면 될것같습니다

 

최종 인코딩 값 : %2561%2564%256d%2569%256e

 

cf) 자동으로 인코딩, 디코딩을 해주는 편리한 사이트가 있었습니다. 귀찮으시면 활용하셔도 좋을것 같습니다 https://www.convertstring.com/ko/EncodeDecode/UrlEncode

'Site > Webhacking.kr' 카테고리의 다른 글

level24[old]  (0) 2022.03.19
level18[old]  (0) 2022.03.18
level16[old]  (0) 2022.03.16
level15[old]  (0) 2022.03.15
level14[old]  (0) 2022.03.15