검색창을 통한 error-based sql injection

작성자 41c71ca9 프로그램 엔큐리티

WEB 종료됨 매우높음 보상없음 작성일: 2021년 10월 14일 (3년 전) 마지막 업데이트일: 2022년 1월 3일 (2년 전)

취약점 유형

error-based sql injection

상세내용

개요

Notice 검색창에 '(싱글쿼터) 입력 시, 에러가 발생되어 error-based sql injection 발생

재현 과정

  1. [step1] 검색창에 '(싱글쿼터) 삽입 시, 에러 메시지 발생
    Description
    Description
  2. [step2] 참, 거짓 반응을 통해 sql injection 공격이 가능함을 확인
    Description
    Description
  3. [step3] mysql error-based sql injection 쿼리를 통해 데이터 추출
    ex) 테이블 명 : ‘and 1=(select a from(select count(*), concat((select table_name from information_schema.tables where table_type=‘base table’ limit 1 offset 0),floor(rand(0)*2))a from information_schema.tables group by a)b) and ‘%’=’
    Description

예상되는 취약점 발생 원인

싱글쿼터 입력 시, 에러 메시지가 보여 error-based sql injection이 가능함.

패치 방법

Prepared statement 구문 조치를 통해 sql 쿼리에 대해서 선처리 컴파일하여 입력받은 변수 값을 문자열변수 처리

예상 결과 및 파급력

데이터베이스 내의 모든 정보를 탈취할 수 있음.

기타사항 및 레퍼런스

타임라인

41c71ca9 님이 티켓을 제출했습니다. 2021년 10월 14일 (3년 전)
Dona BUGCAMP STAFF 님이 상태를 '제출됨'에서 '처리중'으로 변경했습니다. 2021년 11월 11일 (2년 전)
Steve BUGCAMP STAFF 님이 댓글을 남겼습니다. 2021년 11월 12일 (2년 전)

안녕하세요. 제보자님
엔큐리티 버그바운티 프로그램에 제보해주셔서 감사합니다.

제출해주신 티켓은 유효한 티켓으로 Error Base SQL Injection이 발현되는 것을 확인하였습니다. 해당 티켓은 개발팀에 전달될 예정이며, 개발팀 일정으로 인해 수정에 시간이 걸릴 수 있느점 참고부탁드립니다.

감사합니다.

Steve BUGCAMP STAFF 님이 상태를 '처리중'에서 '종료됨'으로 변경했습니다. 2022년 1월 3일 (2년 전)

안녕하십니까 제보자님, 제보해주신 취약점 패치되었습니다.
엔큐리티 버그바운티 프로그램에 참여해주셔서 감사드립니다.

Steve BUGCAMP STAFF 님이 공개상태를 '비공개'에서 '전체공개'로 변경했습니다. 2022년 1월 3일 (2년 전)