webhacking.kr 39번 문제(old)
2019. 11. 8. 23:23ㆍWargame/webhacking.kr

가장먼저 소스코드를 확인해보자.

이러한 php 코드가 있는데 여기서 오류가 발생한다.
$result 변수를 보면 id='{$_POST['id']}" 이렇게 닫는 싱글쿼터가 존재하지 않는다.
이러한 오류가 있는데 id 값을 str_replace 함수로 치환해준다.
치환값을 보면 ' 싱글쿼터는 '' 이렇게 싱글쿼터를 2개 붙혀 문자열을 닫아준다.
더블쿼터 또한 마찬가지이다.
하지만 여기서 발생하는 취약점은 substr() 함수인데 0번째부터 15번째까지 만 문자열을 잘라서 변수에 저장하기 때문에
15번째 이후로 오는 문자는 관여하지 않는다.
그래서 아무값이나 입력한 후 15번째 자리에 ' 싱글쿼터를 하나 입력하면 str_replace 함수를 통해서 ' 싱글쿼터 하나가 16번째 자리에 들어가기 때문에 문자열은 닫히고 정상적으로 실행되는 것을 알 수 있다.
그렇다면 아무 값이나 입력하고 15번째 자리에 ' 를 입력해보자.


'Wargame > webhacking.kr' 카테고리의 다른 글
webhacking.kr 43번 문제(old) (0) | 2019.11.09 |
---|---|
webhacking.kr 42번 문제(old) (0) | 2019.11.08 |
webhacking.kr 38번 문제(old) (0) | 2019.11.08 |
webhacking.kr 34번 문제(old) (0) | 2019.11.08 |
webhacking.kr 32번 문제(old) (0) | 2019.11.08 |