728x90
반응형
이번에는 webhacking.kr의 old-26번 문제입니다. php를 이용하는 문제고, 100점이 배점되어 있습니다.
문제에 들어가면 위와 같은 검은 화면만 뜹니다. 소스 코드를 보겠습니다.
코드를 보니 GET 방식으로 넘겨주는 id가 admin일 때 문제가 해결됩니다.
그 위에는 id를 urldecode() 함수를 통하여 디코딩 해주었습니다.
디코딩을 해주었으니 인코딩을 해주어 원래대로 변환해주어야 합니다. 인코딩 표를 참고하겠습니다.
admin => %61%64%6d%69%6e 입니다. GET 방식으로 넘겨주므로 URL을 바꿔보겠습니다.
인코딩을 진행한 값을 넣어도 admin으로 자동 변환됩니다.
웹 서버와 브라우저 간의 통신에서, 브라우저는 form에서 입력받은 데이터를 자동으로 인코딩한 값을 PHP 서버로 전송하고, PHP는 전달받은 인코딩된 값을 자동으로 디코딩합니다.
이를 통해 %61%64%6d%69%6e이 자동으로 디코딩 되어 admin으로 변환되었다는 사실을 알 수 있습니다.
그러므로 인코딩을 한 번 더 진행해줍니다. 구글에 url encode 로 검색하면 많은 사이트가 있습니다.
burpsuite와 같은 툴을 이용해도 됩니다.
%61%64%6d%69%6e을 한 번 더 인코딩한 값은 %2561%2564%256d%2569%256e입니다.
이 값을 URL에 GET 형식으로 id에 대입하니 문제가 해결되었습니다.
728x90
반응형
'웹 해킹 (Web) > webhacking.kr' 카테고리의 다른 글
[webhacking.kr] 웹해킹.kr old-25번 (150) (0) | 2020.09.19 |
---|---|
[webhacking.kr] 웹해킹.kr old-23번 (200) (0) | 2020.09.19 |
[webhacking.kr] 웹해킹.kr old-24번 (100) (0) | 2020.09.19 |
[webhacking.kr] 웹해킹.kr old-1번 (200) (0) | 2020.09.19 |
[webhacking.kr] 웹해킹.kr old-32번 (150) (0) | 2020.09.19 |