Web/LOS

LOS - nightmare

cloudnaaam 2024. 10. 18. 21:40

18번째 문제 nightmare 다.

 

코드를 보면

#, - 의 주석 문자를 필터링 하고

pw 부분의 파라미터 길이가 6 이하여야 한다.

 

문제를 풀면서 도저히 모르겠어서 구글링을 해봤는데, 알게 된 사실이 2가지 있다.

  1. 문자를 + - 처럼 연산하거나 > = 처럼 비교할 경우 해당 문자는 0으로 자동 형변환된다.
  2. null 문자를 이용해 쿼리문을 조기 종료 시킬 수 있다.

→ ex) pw=’123’\n and id=’admin’ 이면 pw=’123’ 까지만 쿼리가 실행된다.

→ 문자열의 끝이 원래 ‘\0’ 이기 때문에 mysql 이 문자열의 끝으로 인식하기 때문이다.

 

따라서 쿼리문을 짜보면

pw=')=0;%00

풀었다!

'Web > LOS' 카테고리의 다른 글

LOS - dragon  (0) 2024.10.18
LOS - xavis  (0) 2024.10.18
LOS - zombie_assassin  (0) 2024.10.18
LOS - succubus  (1) 2024.10.18
LOS - assassin  (0) 2024.10.18