파일업로드

  • 웹 쉘 제작

- r57shell

=> 시그니처 기반 백신탐지 우회 위해 간단히 base64로 인코딩되어있음


1
2
3
4
<?php
    eval(base64_decode("DQplck 어쩌구 웹쉘~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~")
?>

cs


- c99shell

=> r57shell을 더 발전시킨 웹 쉘


- 최근 eval($_POST['q']) 같은 코드에 'q' 파라미터에 웹 쉘과 명령어를 전송시키는 방법이 많이 사용

=> 대부분의 POST 메소드를 이용해 시스템 명령이나 코드를 실행하는데, 아파치의 로그 파일은 POST 전송 데이터를 기록하지 않기 때문


  • PHP에서 웹쉘에 이용되는 함수 (지기접적으로 시스템 명령을 실행하는 함수)
system, exec ....
  • PHP코드 실행시키거나 callback을 사용하는 함수

eval, preg_replace(/e option) ...



  • 파일 업로드 취약점 공격

- 게시판에 웹 쉘 파일을 업로드 후 해당 웹쉘을 요청하면 php코드 실행


- 많은 게시판들이 이미지를 업로드하면 해당 이미지 출력

=> 이미지 속성값을 이용해 업로드 경로 탐색 가능


속성 

일반


프로토콜 : ~~~

유형 : JPEG 이미지

주소 : http://      /board/data/image1.jpg


크기 : ???kb

픽셀 크기 : 273 x 183 픽셀


만든날짜 : 2017.xx.xx

수정한 날짜 : 2017.xx.xx


=>       /board/data/image1.jpg  >> 웹쉘 요청으로 php 파일 실행


  • 파일 업로드 우회기법

상당히 많은 기법이 있지만 이 절에서는 간단히 3가지 소개


    • php.kr 우회기법

아파치의 AddLanguage 옵션에 의해 발생하는것으로, 파일명이 vuln.php.kr일 경우에도 php파일이 실행된다.

해당 취약점은 확장자가 php가 아니므로 필터링을 우회할 수 있다.

    • htaccess 업로드 취약점
아파치 설정파일인 .htaccess를 업로드
-> 여러 아파치 옵션 변경 가능 (Add Type와 같은 옵션)
-> 원하는 확장자를 php 코드로 실행 가능(txt, jpg 등)
    • 환경취약점
윈도우 환경에서는 파일 업로드 시 파일명에 콜론(:)을 붙일 경우
그 뒤에 문자열은 삭제되어 업로드된다.
ex) abc.php:.jpg -> abc.php



  • 파일 업로드 방어기법

php, htm 등 php실행권한을 가진 확장자 필터링


- 1. "php_value engine off" 내용의 .htaccess 파일 업로드 폴더에 생성한다.

- 2. .htaccess 파일을 사용자가 업로드하지 못하도록 필터링한다.

- 3. 데이터베이스와 연동해 download.php?fileno=3 과 같은 방식으로 파일을 다운로드시켜 파일경로를 알 수 없게 하는 방법


등 다양한 방어기법 존재




  • XSS (크로스 사이트 스크립팅)
  • 쿠키공격 → 쿠키탈취 → 쿠키정보 등록
  • 자바스크립트 이용 ('javascript:document.cookie="쿠키값") + F5


  • DB 해킹
SQL 삽입 취약점 이용 ( PHP, MySQL의 경우)

' or 1=1 #

 ' or '1'='1

 '' or 1=1 #

 " or "1"="1

 ' || 1=1#

 " || 1=1#

      ...

 ') or ('1'='1



- MySQL삽입 Cheat Sheet
: select user(); , select version();  ... 등

- Blind SQL 삽입
:쿼리의 결과의 참/거짓 정보만으로 데이터를 추출해 내는 기법

- URL에서 사용할 경우
: http://127.0.01/example.php?id=1234&password=1' or '1'='1' %23
( %23은 #임)



SQL 삽입 자동화 프로그램


대표적 : pangolin, sql map, Havji


방어기법 : php의 경우 magic_quotes_gpc 라는 옵션이 존재

-> GPC는 GET, POST, COOKIE


해당 옵션은 GPC로 들어오는 ',",\, 널바이트가 존재하는 경우 해당 문장 앞에 역슬래쉬를 붙여준다.

(위 4문자 모두 문자열 처리, 그리고 작음따옴표나 큰 따옴표로 항상 감싸주도록 하자)



'Web & Network' 카테고리의 다른 글

[Web] StyleBot  (0) 2017.06.13
[Web]코드편집기(아톰)  (2) 2017.06.12
HTML Reference(HTML 사전)  (1) 2017.06.12
[맛보기]구글해킹  (0) 2017.03.28
[맛보기]웹해킹 맛보기  (0) 2017.03.21

[맛보기]구글해킹

2017. 3. 28. 22:38


구글해킹

  • 구글의 검색 연산자

 연산자

사용 예 

설명 

 AND

 "가" & "나"

 "가"와 "나"의 문자열을 모두 포함하는 문서 검색

 "가"  "나"

 "가" AND "나"

 OR

 "가" | "나"

 "가" 혹은 "나" 문자열을 포함하는 문서 검색

 "가" OR "나"

 NOT

 "가나다" - "한글"

"가나다"을 포함하고 "한글"을 제외하는 문서 검색

 "가나다" NOT "한글"

 " "

 "security"

 인용문구... 정확한 단어 혹은 ~ 문서 검색

 ~

 ~hacking

 동의어 또는 관련 검색어 함께 검색 

 *

 sher**ck

 알 수 없는 단어 스펠링이 위치한 부분에 "*" 연산자를 이용  해 검색 

 *모아 *이다

 ...

 ....

 ...



구글해킹

  • Vi editor : .{파일명}.{확장자}.swp
  • EditPlus, Ultra Edit : {파일명}.{확장자}.bak
  • 기타 : {파일명}.{확장자}.back , .backup 등
또한 html.tar.gz , public_html.tar.gz , sql.sql , db.sql, backup.sql 등 실수로 백업파일을 남긴것이 검색에 노출가능


관리자 페이지 권한의 실수, 노출
대표적으로 /admin/ , /manager/

- http://         /admin/ , manager,master,administrator

- http://admin.xxx.com
- http://manager.xxx.com

=> 검색 : " site : xxx.com, inurl : admin "


기밀 업로드 파일의 관리실수

검색 : "inurl:/board/data/ , site:xxx.com "

- /pds/ , /upload/ , /up/ , /data/ , /file/ , /files/

디렉터리 리스팅

디렉터리 리스팅 취약점 : 
웹서버 폴더 요청시 index 파일이 존재하지 않을 경우 파일 목록을 출력시켜주는 아파치의 옵션

Index of / public_html/board ....

=> 검색 "index of" "Parent Directory"

웹 쉘 노출
검색을 통해 다른 해커가 어느 서버에 생성한 웹 쉘을 찾아냈다면 구글 해킹만으로 서버 점령 가능
=> 검색만으로 이미 정렴된 많은 서버 쵝득 가능


구글해킹 도구

검색패턴 데이스베이스 사이트 (http://www.hackersforcharity.org/ghdb/)



'Web & Network' 카테고리의 다른 글

[Web] StyleBot  (0) 2017.06.13
[Web]코드편집기(아톰)  (2) 2017.06.12
HTML Reference(HTML 사전)  (1) 2017.06.12
[맛보기]파일 업로드 취약점  (0) 2017.03.28
[맛보기]웹해킹 맛보기  (0) 2017.03.21

[맛보기]웹해킹 맛보기

2017. 3. 21. 23:53

웹해킹


사례

  • 7.7 DDos, 3.4 DDos
2009.7.7 , 2011.3.4 청와대, 국방부, 국회 ... 대형포털사이트 등이 수십만대의 좀비 PC로부터 DDos 공격을 당했다.

DDos (Distributed Denial of Service)

 : 분산 서비스 공격을 말한다. 여러대의 컴퓨터를 악성코드에 감염시켜 좀비 PC로 만든 뒤,

   C&C(명령제어) 서버의 명령을 받아 일제히 특정 서버에 대량의 패킷을 전송하는 기법


과정. 

  1. 웹하드(P2P) 사이트 해킹
  2. 업데이트 서버 장악
  3. 업데이트 파일에 악성코드 삽입
  4. 웹하드 사이트 사용자 악성코드 감염
  5. 공격날짜, 시간에 맞춰 공격 게시


( DDos 공격특성상 동일 시간 일제히 공격하므로 좀비 PC 1만대만 되도 정상적으로 운영할 서버는 드물다. )



  • EBS 해킹
2012.5.15  EBS게시판 파일업로드 취약점을 통해 400만명 개인정보 유출
파일 업로드 (File Upload) 공격

  • 현대 캐피탈 해킹

홈페이지 해킹 후 웹쉘 설치, 트래픽 관제를 피해 148만명 개인정보를 유출

웹 서버 백도어 웹쉘 (Web shell)



 백도어(Back Door) : 관리자 인증 등 정상적인 절차를 거치지 않고 시스템에 접근할 수 있는 '뒷 문'


  • 구글 해킹
전문적인 지식없이 오직 구글 검색만으로 개인정보 유출



환경구축


APM : 아파치(Apache), PHP, MySQL ... 합쳐서 APM


툴설치

  • 웹 프록시(Web Proxy) 툴
해당 PC의 내부에서 가상의 포트를 열고 해당 프로그램이 서버와 웹 브라우저의 HTTP 패킷을 중간에서 전달해주는 역할을 한다


----------------------------------------------------------------

              USER PC                  


Web Browser               Port 8080                               Sever

□□□□□   →     □□□                      □□□

□□□□□   ←     □□□              ←        □□□

paros

----------------------------------------------------------------


대표적인 툴 : 파로스 (Paros)




'Web & Network' 카테고리의 다른 글

[Web] StyleBot  (0) 2017.06.13
[Web]코드편집기(아톰)  (2) 2017.06.12
HTML Reference(HTML 사전)  (1) 2017.06.12
[맛보기]파일 업로드 취약점  (0) 2017.03.28
[맛보기]구글해킹  (0) 2017.03.28

+ Recent posts