2017. 5. 25.

Wordpress 플러그인 취약점 관련 (작성중)

ScipvulDB : https://vuldb.com/
CVE : http://cve.mitre.org
OsvDB : http://www.osvdb.org
SecurityFocus : http://www.securityfocus.com/bid
SecurityTracker : http://www.securitytracker.com

wordpress 취약점 스캔, WPScan(칼리리눅스에 포함되어 있음)
- http://wpscan.org
- https://wpvulndb.com

1. 진단 환경

1) 칼리리눅스 도구 설치


2) WPScan 설치
- 워드프레스 진단에서 가장 많이 사용하는 도구는 WPScan이다.
(http://wpscan.org / https://wpvulndb.com)
WPScan은 워드 프레스 최신 취약점 미패치, 플러그인, 테마 취약점 미패치를 데이터베이스화 하여 보여 주는 도구로, 루비 언어로 되어 있어서 루비 환경이 구성되어 있다면 어디에서든 활용가능하다.
- WPScan 과 비슷한 기능을 가지고 있으면서 다른 CMS 의 취약점 진단 항목까지 포함한 CMSmap 이라는 도구도 있다.


3) 리눅스 환경에서 워드프레스 설치


사이트에 설치된 워드프레스 테마와 플러그인을 확인 할 수 있는 사이트
- http:whatwpthemeisthat.com

** 플러그인, 테마는 wp-content, wp-content/plugins, wp-content/themes 폴더에 있다.

5) 워드프레스 취약 버전 다운로드 방법
- 워드 프레스 정식 홈페이지에서는 최신 버전만 다운로드 링크가 제공되므로 이전버전을 받기가 어렵다. 때문에, exploit db 사이트에서 취약 애플리케이션을 다운로드 하거나, 수동으로 입력해서 취약 플러그인을 다운받을 수 있다. 예를 들어, http://downloads.wordpress.org/plugin/custom-contact-forms.5.1.0.3.zip 은 custom-contact-forms 플러그인 중에서 5.1.0.3 버전을 다운로드 한다는 의미이다. 


** TIPS
워드프레스에서 데이터 타입을 확인하기위해 APMSETUP 내 'phpMyAdmin' 페이지를 활용
할 수 있다.
- test.co.kr/mysql/plugin명/phpMyAdmin



# 워드프레스 SQL 인젝션 취약점 점검 절차

1. 플러그인을 설치한 후 데이터베이스에 테이블이 만들어지는지, 만들어진다면 데이터 데이터 타입 중 varchar 또는 varchar2 타입으로 된 데이터가 있는지 확인한다.

2. 플러그인이 수행하는 모든 페이지를 실행하며 발생하는 변수를 확인한 후 소스코드와 대조하여 varchar 데이터 타입과 맵핑(SQL 쿼리문 질의)하는 변수가 있는지 확인한다.

3. 맵핑하는 SQL 쿼리문에 SQL 인젝션에 대한 방어가 존재하는지 확인한다.

4. 맵핑하는 SQL 쿼리문이 있는 페이지에 쿠키값에 대한 체크 구문이 있는지 확인한다. (없다면 공격이 매우 쉬워진다.)

5. AND 1=1, AND 1=2 와 같이 대표적인 인젝션 가능성 테이스 구문을 삽입하여 인젝션이 되는지 확인한다.

6. 인젝션이 된다면 파이썬으로 자동화 스크립트 구문을 코딩하거나 자동화도구 (SQLmap 등)을 사용하여 인젝션 공격을 수행한다.

Popular Posts

Recent Posts

Powered by Blogger.