Web
LOS - succubus
secretjuju
2020. 5. 8. 22:58
'이 막혀 밖으로 빠져나가지 못하는 상황이다. 저번문제에선 like의 이스케이프 문자인 %를 이용해 문제를 해결했는데
= 는 어떤 이스케이프 문자가 있는지 알아보면
\는 여러언어에서도 쓰이는 이스케이프 문자이다.
\' 은 '가 문자열 마지막에 쓰이는게 아니라 '라는 문자를 검색하게 만들 수도 있는 것이다.
select id from prob_succubus where id='\' and pw=''
이런 쿼리가 나오게 하면
id가 ' and pw= 라는 문자열인 것을 검색하게 된다 그리고 뒤에 '이 하나 남게 되는건데
pw 파라미터 값으로 || id='admin 을 넣게 된면 필터링 될테니
|| id=16진수admin 주석처리 '
이렇게 만들면 admin이 정상적으로 검색이 될 것이다.
#은 mysql에서 뒤에 문자열을 주석으로 처리할 때 사용하는 기호이다.
#은 &와 같이 url인코딩을 해 줘야 한다 ( %23 )