728x90
쿼리문을 전달하여 수행하는 프로그램이 존재 한다면, 해당 프로그램을 이용하여 mysql 관련 정보를 획득 할 수 있다.
Mysql 계정 및 서버 정보 획득
쿼리문 전달 서버 요청 request 의 파라미터 중 일부 값을 'mysql.users' 등 존재하지 않는 테이블의 값으로 변조 후
패킷을 전송하면 서버응답(Resopnse) 패킷을 통해서 mysql 계정 및 서버 ip 주소를 반환하는 내역을 확인 할 수 있다.
(변조 툴은 Burp Suite을 사용)
---> 존재하지 않는 테이블을 조회하려고 하니 sql 문법에 맞지 않기때문에 exception이 발생되고 그 과정에서 계정 및 서버 ip가 노출되고 있다
Mysql 버전 정보 획득
쿼리문 전달 서버 요청 request 의 파라미터 중 쿼리 전달 값을 'select @@version' 로 변경하여
패킷을 전송하면 서버응답(Resopnse) 패킷을 통해서 mysql 버전을 반환하는 것을 확인 할 수 있다.
(변조 툴은 Burp Suite을 사용)
> 쿼리문 변경
> 버전 확인
위와 같이 쿼리문 파라미터 값을 그대로 넘겨서 backend 로직에서 체크하지 않는다면, 중요한 정보가 노출될 수 있는 취약점이 발견된다(불충분한 인가)
전달되는 인자값들은 항상 backend 로직에서 추가 검증 할 수 있도록 프로그램을 구현해야 된 다는 점 유의해야된다!!!!!!
728x90
'보안' 카테고리의 다른 글
[공격] 웹쉘 취약점 업로드 관련 공격 기록 (0) | 2023.02.02 |
---|---|
[보안] BurpSuite 프로그램 사용해보기 (0) | 2022.08.11 |