-
webhacking.kr 문제 27번 풀이web/webhacking.kr 2019. 7. 7. 16:19
webhacking.kr 27번 문제를 해결해 보도록 하겠습니다.
보시면 주석으로 index.phps라고 표시를 해 두셔서 그곳으로 이동합니다.
php 코드를 보시게 되면 필터링되는 문자열과 쿼리문 id값에 따라 문제가 해결되는가가 나와있습니다.
우선 guest를 먼저 찾아보면 guest의 no는 1입니다.
그러고 나서 우리는 admin으로 우회를 해야 합니다. 따라서 앞의 값은 false 뒷 값은 true를 만들어야 합니다.
여기서 소괄호로 입력한 get값을 감싸기 때문에 우리가 만들어야 할 기본적인 코드 값으로는
"0) or no = 2"가 기본적인 쿼리가 될 거 같습니다.
"(select id from challe.... where id='guest' and no=(0) or no=2) or die('guery error');"
우선 위 기본 쿼리를 넣었습니다. 0) or no = 2를 하지만 no hack 만 no hack 실패했습니다.
원인은 '='문자열 필터링 때문입니다. '='우회 방법에는 like로 해주면 됩니다.
따라서 0) or no like2 로 시도를 해봤습니다. 이번엔 no hack 이 아니라 query error라고 나옵니다.
위에 보시면 or die('guery error') 때문에 앞에 성공했음에도 불고 하고 오류를 띄운 겁니다.
따라서 뒤에를 주석 처리로 실행을 억제시키면 됩니다. 주석 방법 중 #은 필터링시키니까 ' -- '을 통해
주석을 해주시면 됩니다.
아래와 같이 성공하실 수 있습니다. (참고로 -- 사용할 때 앞, 뒤로 띄어쓰기해주어야 함)
이렇게 27번 문제를 해결해 보았습니다.
반응형'web > webhacking.kr' 카테고리의 다른 글
webhacking.kr 문제 18번 풀이 (0) 2019.07.07 webhacking.kr 문제 3번 풀이 (0) 2019.07.07 webhacking.kr 문제 54번 풀이 (0) 2019.06.16 webhacking.kr 문제 34번 풀이 (0) 2019.06.16 webhacking.kr 문제 23번 풀이 (0) 2019.06.16