일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- sk루키즈
- 정보보안
- 공부기록
- Dreamhack
- 혼자공부하는네트워크
- bandit level 11 -> level 12 문제풀이
- overthewire 문제
- 데이터와 로직
- 혼공네트
- AWS
- bandit 비밀번호
- sk shieldus rookies 23기
- 객체지향
- 함수와 디버깅
- 해킹
- bandit 문제풀이
- kbdinteractiveauthentication
- overthewire bandit level 0
- web hacking
- 보안
- 오블완
- 네트워크이론정리
- 티스토리챌린지
- 네트워크정리
- 포인터와 배열
- bandit level
- 네트워크문제
- overthewire bandit 문제
- 취약점진단
- overthewire bandit 문제풀이
- Today
- Total
아임노드
취약점 진단 도구_SQLMAP 본문
SQLMAP
- SQLi을 자동화 해주는 도구(취약성 점검)
- Python 기반의 오픈소스
- 현재 알려진 SQLi 모든 기법을 사용, 모든 벤더 지원
사용법
1) SQLi이 가능한 공격 포인트 찾기
2) 세션 재사용 가능여부 판단 (로그인을 해야만 접근 가능한 메뉴일 경우)
3) 데이터 수집 (패킷정보, URL)
4) 공격 명령어 완성
ㄴ 사용하는 방식이 크게 두 가지로 나뉨
4.1) url 방식의 공격
sqlmap -u --cookie --data -p --batch --dump
-u : 취약점이 존재하는 URL주소
--cookie : 세션 정보
--data : 파라미터 영역 지정 (취약한 파라미터 지정)
-p : 파라미터 영역에서 취약한 파라미터 지정
--batch : sqlmap를 이용한 취약점 진단 자동화
--dump : 사용자가 만든 DB 기준으로 모든 데이터 출력
4.2) 패킷 데이터 방식의 공격
sqlmap -r file --data -p --batch --dump
-r : 데이터 패킷 구조의 파일로 지정
* -os-shell 옵션이 존재 : 셸 연결 옵션
실습
1. dvwa (low) > SQL Injection 탭으로 이동
2. User ID 부분에 1 입력해보기 -> 정상데이터/ 출력 확인
3. URL 주소 확인 (id=1 확인)
4. 주소 copy (http://dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#)
5. 명령어 추가하기
(변경전) sqlmap -u --cookie --data -p --batch --dump
(변경후) sqlmap -u 'http://dvwa/vulnerabilities/sqli/' --cookie --data 'id=1&Submit=Submit' -p id --batch --dump
6. --batch --dump --> 이두개는 별도의 인자값을 줄 필요는 없고
--cookie 값만 알아내면 된다.
사이트로 돌아가서 f12 > Network > Reload 클릭
클릭>
Request Headers의 Cookie 값 복사 (마우스 우클릭 > Copy Value)
PHPSESSID=l5egp98sevk9ao5ob79s9jkic0; security=low
7. Cookie 값 추가
(변경후) sqlmap -u 'http://dvwa/vulnerabilities/sqli/' --cookie=' PHPSESSID=l5egp98sevk9ao5ob79s9jkic0; security=low ' --data 'id=1&Submit=Submit' -p id --batch --dump
8. 명령어 복사해서 칼리 터미널로 이동
9. 완성된 명령어 복사하기 > Enter
10. 출력 확인
11. 사용자가 만든 테이블이 아닌 전체(default)까지 보고 싶다고 한다면 -all 추가 (내용 너무 많아서 그냥 --dump할 것 추천)
sqlmap -u 'http://dvwa/vulnerabilities/sqli/' --cookie=' PHPSESSID=l5egp98sevk9ao5ob79s9jkic0; security=low ' --data 'id=1&Submit=Submit' -p id --batch --dump-all
1. 두 번째 패킷 데이터 공격 방식 확인
2. dvwa(medium)으로 이동 > SQL Injection 탭으로 이동
3. 패킷 수집을 위해 burpsuite on (패킷 수집하기)
4. POST 패킷 전체 복사
5. 터미널 이동
> mousepad sql.rq (sql는 임시고 이름은 바꿔도 됨. rq는 request를 의미)
> mousepad에 복사한 것 붙여넣고 저장
6. (변경 전) sqlmap -r file --data -p --batch --dump
(변경 후) sqlmap -r sql.rq --data 'id=1&Submit=Submit' -p id --batch --dump
7. 터미널에 완성된 명령어 입력
'[SK shieldus Rookies 23기] 공부 노트 > 취약점 진단 도구 및 활용법' 카테고리의 다른 글
주요 취약점_XSS(Cross-Site Scripting) (0) | 2025.01.13 |
---|---|
주요 취약점_Blind SQL Injection (0) | 2025.01.08 |
실무 환경에서의 주요 취약점_SQL Injection (1) | 2024.12.17 |
실무 환경에서의 주요 취약점_File Upload (1) | 2024.12.16 |
실무 환경에서의 주요 취약점_File Inclusion (1) | 2024.12.12 |