인프런 커뮤니티 질문&답변
취약점 분석 방법론(3) 에서 궁금한 점 질문드립니다.
작성
·
208
답변 1
0
크리핵티브
지식공유자
안녕하세요.
예를들어, 검색창에
1) crehacktive 검색 시 "crehacktive" 에 대한 검색 결과가 출력됩니다.
2) creha'||'cktive 검색 시 "crehacktive" 에 대한 검색 결과가 출력됩니다.
3) creha'a'cktive 검색 시 에러 페이지 출력됩니다.
이러한 결과물들을 통해서 취약점 판별이 가능합니다. 2번째의 경우는 || 는 연결 연산자로 인해 creha'||'cktive가 crehacktive 결과로 출력된거고, creha'a'cktive 검색 시 서버 측에는 다음과 같은 쿼리가 완성됩니다.
>> select * from board where title like '%creha' a 'cktive%'
노랑 하이라이트 처리가된 1번째 문장과 레드 하이라이트 처리가된 2번째 문장이 기존에는 연결연산자로 인해 합쳐졌지만, 지금은 a라는 알수 없는 키워드가 들어감에 따라서 dbms는 이를 문장 에러로 인식하고 에러처리를 해버립니다.
때문에 정상적인 요청에 따른 결과, 비정상적인 요청에 따른 결과 이 두가지 결과를 통해 취약점 판별을 하신다고 이해하시면 됩니다.





