sqlmap 활용법

웹해킹/Bee-box 2017. 12. 28. 00:30
반응형
SMALL

이번 포스팅은 sqlmap에 대해 포스팅 해보려고 한다. sqlmap은 DB정보도 다 캘 수 있을 정도로 강력한 툴이기 때문에 항상 가상서버, 가상사이트에다가만 실습해야 하고 실사이트, 실서버 공격 절대 금지다! 항상 해킹은 악한곳에 쓰는것이 아닌 악한목적으로 해킹하려는 블랙해커들의 해킹을 방지하는 방법을 연구하기 위해 공부하는 것이다. 이 점만 꼭 명심하고 해킹공부를 해야 한다.


1. SQL Map이란?

- 탐지과정, sql 인젝션 결함을 사용한 익스플로잇, 데이터서버를 접수를 자동화한 오픈소스 침투 점검 도구이다. 

- SQL Map은 항상 궁극적인 침투 점검자를 위한 틈새특성, 데이터베이스로부터 데이터 가져오기, OS Command 실행과 같은 강력한 탐사 엔진을 보유하고 있다.

- SQL Map은 SQL 인젝션할 때 많이 사용하는 도구로 항상 조심해서 사용해야 하며 반드시 가상웹사이트에서만 사용해야 한다.


*SQL Map 공격 실습*


(1) SQL injection(GET/Search) 공격




일단 SQL Injection(Get/search)를 선택하고 핵을 눌러준다. 보안레벨은 Low로 세팅시키고 aaaaa를 입력하고 검색버튼을 눌러준다.




그렇게 되면 이런식으로 URL이 뜨게 되는데 여기서 title에 대한 취약점을 이용해 해킹해보는 실습을 해보려고 하는 것이다. 저 URL 값을 copy해준다.



그리고 sqlmap -u "URL주소" -b -v 3 -p title 이라는 값을 리눅스창에 입력해주고 엔터를 눌러준다. 여기서 -b는 banner들을 보여주는 명령어이며 -v는 정보를 보여주는데 1이라는 값이 가장 상위이며 숫자가 커질수록 상세하게 정보를 볼 수 있다. -p는 파라미터를 의미한다.



이런식으로 화면이 뜰텐데 당연히 잘 안될 것이다. title 뒤에 쿠키값을 입력을 안해줬기 때문이다. 쿠키값 가져오는 법은 아래 사진처럼 프록시를 걸어주고 버퍼스윗을 활용해서 하면 된다.



이런식으로 걸어주고 블록지정한 부분이 쿠키값인데 이걸 copy해준다.




title 뒤에 저렇게 명령어를 입력하고 방금 복사했던 것을 그대로 쿠키명령어 뒤에 붙여주고 엔터를 눌러주면 된다.




정상적으로 실행이 되었으면 이런 화면이 나오는데 현재 서버 운영체제들, 어플리케이션 정보들을 볼 수 있다. 아까 banner라는 명령어를 써서 이런 정보들이 나타나게 되는 것이다.




banner는 시스템 현황을 알려줬고 이번엔 mysql에 어떤 정보가 저장되어 있는지 알아보려는 명령어를 써줬다. -D는 데이터베이스를 의미하며 testdb는 현재 있는 데이터베이스이다. 




그러면 이런식으로 어떤 테이블 정보가 저장이 되어 있는지 한눈에 확인할 수 있다. 






이번에는 table안에 어떤 정보가 있는지 알아보려고 한다. 데이터베이스 뒤에 -T '테이블명' --dump를 입력해준다. -T는 테이블을 조회할때 쓰는 명령어이다.




명령어를 입력하고 정상적으로 동작했다면 이런식으로 테이블안에 있는 정보들을 전부 다 볼 수 있다. 하지만 언제까지나 꼭 가상환경에다가만 해야 되고 절대 실환경공격 금지이다!


(2) SQL Injection(POST/Search) 공격


Post방식도 Get방식과 차이는 거의 없다. 단지 프록시를 잡아주는 것 외에는 공격방식은 동일하다.




이런식으로 프록시를 잡아주고 아까는 sqli.1.php였지만 이번엔 sqli.6.php이다. 




이런식으로 명령어를 입력해준다. 아까 Get방식과 차이점이 좀 있다면 URL쪽이 sqli_6.php로 바뀌었다는 것과 title부분에 --data가 추가되었다는 것인데 --data는 Post방식에서 데이터에 대한 내용을 담는 명령어이다. 




명령어가 잘 실행이 되면 이런식으로 아까와 같은 화면이 잘 출력이 되게 된다.



그리고 참고사항이 하나 있는게 Sleep함수가 있는데 이건 스레드들을 전부 잠재워버릴 수 있는 무서운 함수이다. 스레드가 동작하지 않으면 그 DB자체가 동작할 수 없기 때문에 항상 조심해서 사용해야 한다. 



sqlmap활용법도 간단하게 포스팅해봤는데 sql인젝션 공격이 워낙 다양하다보니 많은 실습과 이론공부가 병행되어야 할듯 싶다. 다음 포스팅은 메타스플로잇의 간단한 활용법에 대해 포스팅 해 볼 생각이다.

반응형
LIST

'웹해킹 > Bee-box' 카테고리의 다른 글

Blind SQL 인젝션  (0) 2017.12.28
메타스플로잇(기초)  (0) 2017.12.28
SQL 인젝션 기초  (0) 2017.12.26
iframe, ssl 인젝션  (0) 2017.12.25
PHP Command 인젝션 공격  (0) 2017.12.25
블로그 이미지

만년필석사

,