0x0102

Old.18 본문

Write Up/Webhacking. kr

Old.18

jxx_yxjx 2022. 5. 21. 16:09

초기 화면

SQL 인젝션을 사용하는 문제인 것 같다.

먼저 코드 확인

소스 코드 해석

  • get 방식으로 no 전달
  • 정규표현식으로 공백 / & / select / from 등 문자열 필터링
  • 하단에 sql 쿼리문
  • if 조건문에서 id = admin 일때 해결 예상
  • 주석으로 admin의 no는 2라는 것을 알 수 있음

  • id = guest로 고정되어 있으므로 쿼리문 수정하기
  • "select id form chall18 where id='guest' and no= 뒤에 '-1' or no='2'로 변경

-> 앞의 and문을 거짓으로 바꾸고 뒤의 or문으로 참을 만들어주므로 식 성립

아이디 란에 '-1'or no='2' 제출

그러나 공백이 필터링 되어 no hack 표기

처음 코드에서 확인하였듯 get 방식으로 전달하므로 url에서 탭을 url encode 한 %09로 공백 대체

해결

'Write Up > Webhacking. kr' 카테고리의 다른 글

Old.39  (0) 2022.05.21
Old 54  (0) 2022.05.12
Old 26  (0) 2022.05.12
Old.32  (0) 2022.05.04
old.20  (0) 2022.04.15