SQL Injection (1)

밍기적·2022년 12월 24일
0

웹해킹

목록 보기
12/35

단순한 웹사이트를 제외하고 대부분의 웹사이트에서 데이터베이스를 사용하고 있습니다

데이터베이스는 데이터를 저장하는데 사용되고 사용자 이름, 암호 등 저장합니다.

웹 사이트에서 일어나는 모든 일은 문자 그대로 데이터베이스에 있는 데이터를 업데이트, 삭제 또는 수정을 합니다.

웹 애플리케이션과 데이터베이스 간의 이러한 상호 작용은 SQL라고 부르는 언어를 사용하여 발생합니다.

간단하게 Metasploit에 존재하는 데이터베이스에 접속했습니다.

각 데이터베이스를 확인하기 위해 show databases; 명령어를 통해 저장된 데이터베이스를 확인합니다.

information_schema는 정보 스키마로 다른 모든 데이터베이스에 대한 기본 정보를 보유하는 기본 데이터베이스 입니다

  • SQL 설치 시 기본적으로 설치된다

각 데이터베이스에는 테이블이 있고 테이블에는 정보가 있습니다

테이블을 확인하기 위해서 use 명령으로 데이터베이스를 선택합니다

  • 이후 show tables; 명령어를 통해 테이블들을 확인할 수 있습니다

accounts 테이블에 중요한 내용이 있을 확률이 높으므로 select 명령문으로 확인해봅니다

cid, username, password, 설명, is_admin 항목이 존재하고 있습니다

데이터베이스는 웹 사이트에서 사용되는 모든 데이터를 저장합니다. 파일에 저장하는 것은 효율적이지 않기 때문에 이런 방식을 사용합니다

SQL 인젝션이 왜 중요하고 위험한지에 대해 5가지 이유가 있습니다

  1. 데이터베이스는 어디에서나 존재하고 액세스할 수 있으면 모든 권한이 획득가능
  2. 민감한 데이터에 접근하기 위해 데이터베이스의 접근을 줄 수 있다
  3. 웹 사이트 파일 이외의 지역 파일을 읽을 수 있다
  4. 시스템을 익스플로잇 하는 것이 관리자로서 로그확인도 가능하다
  5. 파일 업로드 기능을 활용할 수 있다

원하는 거의 모든 것을 할 수 있기 때문에 위험합니다

0개의 댓글