Webhacking.kr 26번 문제
문제를 보면 index.phps 가 나온다.
한번 눌러 봅시다~!~!~
소스 코드가 보입니다.
php 소스코드를 첫 줄 부터 분석을 해보면
- get 방식으로 id 변수에 저장된 값이 admin이면 나간다
- get 방식의 id 변수에 저장된 값을 urldecode을 한 후에 다시 id 변수에 저장
- 만약 id 변수에 저장 된 값이 admin이면 해결
이렇게 간단하게 분석을 끝내고 get방식으로 url에 admin으로 써보면 eregi 함수로 인해 강제 종료가 된다.
그러면 !! url 인코딩을 해서 넣어봅시다.
admin을 인코딩하면 %61%64%6D%69%6E 이다. 이것을 get 방식으로 url에 넣어주게되면
no! 라고 뜨고 id = admin 이라고 필터링이 되서 나타난다.
왜 그런지 구글링을 해보니,, 인코딩 값을 전달을 하게 되면 서버에 전달이 되서 동시에 서버 php가 해석을 하기 때문이라고 한다.
그러면 한번 더 인코딩을 해준 뒤에 get 방식으로 전달을 하게 되면 ,,
문제 해결~!~!
'Wargame write up > webhacking.kr' 카테고리의 다른 글
Webhacking.kr 24번 (0) | 2019.01.31 |
---|---|
Webhacking.kr 16번 (0) | 2019.01.31 |
Webhacking.kr 14번 (0) | 2019.01.28 |
Webhacking.kr 4번 (0) | 2019.01.28 |
Webhacking.kr 38번 (0) | 2019.01.28 |