webhacking.kr

webhacking.kr 18번 문제풀이

webhacking지구 2022. 7. 17. 17:26

18번문제에 들어가면 

이렇게 떠있습니다 

위 sql 인젝션을 하라고 써있으니 sql 인젝션 문제갔네요 

일단 view-source를 눌러 문제로 들어가봅시다.

이렇게 나와있네요 일단 해석을 해봅시다

  if(preg_match("/ |\/|\(|\)|\||&|select|from|0x/i",$_GET['no'])) exit("no hack");

위를 보시면 여러가지 를 필터링하고 이것이 들어가있다면 exit하는것을 볼수있습니다

 

그리고 코드를 보시면 preg_match값과 일치하지 않으면 $result수행하고

id값과 비교해서 id가 guest이면 hi guest를 출력하고

id가 admin이면 hi admin를 출력하는것을 볼수있습니다.

 

일단 풀어봅시다.

// admin's no = 2

위에보이다시피 admin의 no는 2입니다

admin이 되려면 no가 2가 되어야하고 guest가 나오지않게해야하기 때문에 -1 or no = 2라고 입력이 되어야한다는것을 알았습니다.

 

1을 대입하니 hi guest가 뜨네요

우회법을 써서 한번 필터링 하는 공백을 %09로 바꿔서 입력해보겠습니다.

답은 : '0'%09or%09no='2'

여기서 잠깐 %09를 넣으니 25가 딸려온다 .... 젠장

정답을 넣을때 

이렇게 %2509가 된다. 

이제 입력할때 

%2509에서 25를 url에서 지워주면 

제출눌러주면

될것이다!!

'webhacking.kr' 카테고리의 다른 글

webhacking.kr 10번문제풀이  (2) 2022.07.22
webhacking.kr 27  (3) 2022.07.17
webhacking.kr 16번문제풀이  (0) 2022.07.16
webhacking.kr 26번 문제풀이  (2) 2022.07.14
webhacking.kr 14번(old)  (0) 2022.07.10