관리 메뉴

Jsecurity

sqlmap (SQL 인젝션 공격) 도구 본문

Linux/Kali-Linux

sqlmap (SQL 인젝션 공격) 도구

Great king 2019. 4. 23. 21:59

SQL Injection
SQL Injection 이란 Web hacking 기법 중 하나이다. 웹 애플리케이션의 뒷단에 있는 Database에 질의(쿼리를 보내는 것)하는 과정 사이에 일반적인 값 외에 악의적인 의도를 갖는 구문을 삽입하여 공격자가 원하는 SQL 쿼리문을 실행하는 기법이다. 


SQL Injection 공격의 종류

인증 우회 (AB : Auth Bypass)
데이터 노출 (DD : Data Disclosure)
원격명령 실행 (RCE : Remote Command Excute)

 

대응방안

                     

1. 문자열 필터링 및 길이 제한
데이터베이스와 연동하는 스크립트의 모든 파라미터를 점검하여 사용자의 입력 값에 이용되는 특수문자(‘, “, \, ;, :, %, space, --, # 등) 및 SQL 관련 문자열(select, union, insert, delete, update 등)을 필터링한다. 


2. 확장 프로시저 제거
MS-SQL의 경우 확장 프로시저(mater, xp_cmdshell, xp_startmail, xp_sendmail 등)는 운영체제 명령 실행 및 SQL 인젝션에 이용되기 때문에 제거하는 것이 안전하다.

3. DB 사용자 권한 제한
웹 프로그램을 사용하는 DB 사용자의 권한을 제한한다.

 4. 선처리 질의문(Prepared Statement) 이용
선처리 질의문을 이용하면 SQL 쿼리문을 선처리하여 이후 입력되는 변수 값을 항상 문자열 변수로 다루기 때문에 사용자가 악의적인 SQL 구문을 삽입하더라도 SQL 문에 영향을 미치지 않아 SQL 인젝션이 발생하지 않는다.

 5. hash function 사용
사용자의 입력값을 DB 그대로 저장하고 사용하지 말아야 한다. 

 

실행하기!

sqlmap 실행순서: 프로그램 > 즐겨찾기 03 - Web Application Analysis > sqlmap

sqlmap 란?

프로세스 자동 탐지, SQL Injection 관련 exploting 그리고 DB 서버에 대한 질의를 수행하는 오픈 소스 침투 테스트 툴, 보통 취약점 점검 툴을 이용하여 간단한 SQL Injection 취약점을 찾고 SQLamp 을 이용하여 DB 정보를 획득한다.

 

DVWA를 이용해보자!

security Level : Low

IP address Text box 내용에 특수문자를 기입하면 나오는 SQL syntax error 창이 나온다. 

해당창의 URL을 수집한다. (http://192.168.56.101/DVWA/vulnerabilities/sqli/?id=1&Submit=Submit#)

 

그리고 우리는 sqlmap 을이용하여 DB를 알아내기위해 Cookie값을 수집한다. 

파이어폭스의 F12 키를 입력하여 개발자 모드의 Console 탭의 명령줄에 document.cookie 를 입력하면 

해당 cookie가 나오는 것을 볼 수있다.

 

COOKIE

 

 

모든 파라미터에 대해 SQL 인젝션 공격을 하는 명령 입니다. id=1의 뒤에있는 %27&은 지웁니다.

 

 

명령실행결과!

 

아래의 명령을 입력하면 users 테이블이 다 보이게 된다.

sqlmap -u "http://192.168.56.101/DVWA/vulnerabilities/sqli/?id=1Submit=Submit#" --cookie="security=low; PHPSESSID=dt2fogn4iutmm1suuln22d7f14" -p id -D dvwa -T users --dump

 

 

주의사항: 해당 사이트의 IP 주소와 쿠키값은 다르기때문에 수정해주셔야 합니다.

 

패키지 설명

https://tools.kali.org/vulnerability-analysis/sqlmap

 

sqlmap

sqlmap is an open source penetration testing tool that automates the process of detecting and exploiting SQL injection flaws and taking over of database servers.

tools.kali.org

 

도움이 많이 된 사이트

https://www.youtube.com/watch?v=7mkIWccR7Mw

 

 

 

 

 

'Linux > Kali-Linux' 카테고리의 다른 글

kali- John The Ripper 도구  (0) 2019.05.06
Kali-commix 도구 사용하기  (0) 2019.04.24
commix 명령 인젝션(command injection) 도구  (0) 2019.04.22
golismero 취약점 스캔 도구  (0) 2019.04.20
Dmitry 네트워크 스캐닝  (0) 2019.04.20
Comments