본문 바로가기
Web hacking/Nomaltic) 웹 해킹 수업 노트 👩‍💻

[14주차] 금취분평 취약점, XXE 취약점

by m_.9m 2022. 1. 20.




--------------------------------------------------------------
*모의 해킹은 엑셀 점검 항목들을 하나하나 점검하는 것이 아니다.
시나리오 기반으로 해킹을 하고 취약점들을 점검항목에 매핑해서 보고서를 작성한다. 
CSRF -> 링크 -> 버튼 클릭 -> 나도 모르게 공격 당함
ifram으로 100%로 전체화면  x-frame-bypass 프레임 툴 활용

1) 모의 해킹 업무 팁 -- 픽픽 사용법 

창(로그인 페이지 )캡처 시 창을 작게 만듬. > 창 캡처 >
버프 스윗시 리피터에 옮겨서 요청/응답(글씨 키움, 필요없는 헤더를 지워봄.
사이트 링크가 있으면 좋음. 헤더 삭제시 응답이 될수있고 안될수 있음. 필요없는 부분 다 지워 캡처.)  
+카피 URL 등으로 text 파일 남겨둠

-캡처(자동저장 폴더)
-증적 사진(원본)
  - [페이코 웹]
     -XSS
           -로그인
-> 사진 이동
-SQL injecrion
     -검색기능

-보고서 작업용 사진(복사본)
   ->>> 복사본으로 편집. 고객사에서 사진 요청하는 경우가 있기 때문.


2) 모의 해킹 업무 팁 -- 보고서 작성 법
 - v1.0 (더이상 손볼게 없다)
 - v0.2 (초안) -- > v.10

- 들어가는 곳마다 템플릿이 있음 >핸드폰 번호 있을 시 칸을 지움.
지난 번 결과보고서를 받아볼 수 있을까요?로 해당 템플릿 사용
- <총평>을 잘 써야한다. 보통 보안 담당자는 총평만 본다.***** =진단서(주관을 담으라는 말은 아님.)
- <발견 URL은>고쳐야할 페이지 <메뉴> 홈>로그인*****
- <보안 권고안> 부분 짧막/ 해당 목차에선 자세히
- 비슷한 여러가지 시 하나만 대표로 사진 첨부
- ex 인가 취약점 약간 다른 것은 Case 로 구분.
case 1 관리자 권한 사용
case 2 허용되지 않는 사용자 
-파라미터 하나 당 한개로 취급. 총평에 갯수 기재.(보통 기준, URL당 파라미터 여러개.)
-그림 자를때 반드시 보고서 내에서 자름. 검은 테두리로 깔끔하게. 너비 16.

-------------------------------------------------------------------------------
점검 항목

*시스템 운영정보 노출 여부
-> 정보면 됨. 웹 페이지 접속 시 Server:apache/2.4.18 (Ubuntu)도 취약점이 될 수 있음
공개된 취약점 apache/2.4.18 exploit 검색으로 공격 가능
서버 헤더를 제거해주세요.
버전정보 안나와있는 apache는 사람마다 다르게 생각(개인적으로 X)
-> 404 에러페이지가 기본 에러페이지라 이때 버전 정보 노출 가능.
직접 커스텀해서 다른 에러페이지 띄워줘야함.
특이한 에러 유발 500대. -> 서버측 에러. 숫자입력값에 문자 등등
TT(메서드 수정),OPTION시  /xxe.http.1.1
                         -> 허용에러 나오는데 해당 부분에서 없는 메서드 쓰면 에러.
SQL 에러. SQL 쿼리 정보 응답 시 DB 커리 정보문이 노출되었을 때 취약점.
RDServer

*비밀번호 오류 횟수 제한(마지막에)
*불 충분한 세션 종료 처리(개인적으루 x)
-> 로그인 1시간 2시간 후 돌아오면 로그아웃이 되어야한다.
시간창 띄워서 이랑 같이 찍음.
-> 로그아웃: 세션 파기
쿠키만 날리는 경우 세션 재사용 가능으로 문제가 생김
*취약한 HTTPS -- 4가지
SSL v 1.0
SSL v 2.0 -RC4
SSL v 3.0
TLS v 1.1 
TLS v 1.2 
TLS v 1.3 >> 안전 

길이가 작거나 해쉬가 작거나.

1) ssllad 사이트

https://www.ssllabs.com/ssltest/
test your server
4가지 항목 확인해서 보고서 작성해줌.
여러가지 암호 과정으로 Hand shake 해줌.
-> HTTPS 암호로 통신을 하고 있음에도 벗겨내서 
평문 스니핑 가능.드라운 공격 푸들 공격 등.
But 내부망시 안됨. 

2) sslyze

https://github.com/nabla-c0d3/sslyze
sslyze.exe [URL]

* 불필요한 웹 메서드 허용
TRACE, PUT(파일 업로드 가능), DELETE 등
-> TRACE는 요청 헤더를 그대로 Response?
XST에 활용. XSS 변형.
session은 쿠키에 들어가있는데 cookie: PHPSESSID=12fslkjfs httponly;
document.cookie에 안찍힘. 쿠키 보호
<script>나 send(document.cookie) 

 



응답에 그대로 찍혀서 쿠키뺴올 수 있음.
TRACE 제거해야한다.는 옛날 일. 최근 xmlhttp메서드가 trace 지원 안함.
옛날버전 브라우저에서만 통함.

*관리자 페이지 노출 여부
/admin
일반 사용자에게는 관리자페이지 로그인도 보이면 안됨.
망 분리해서 구축해야함 외부/내부

*불필요한 파일 노출 여부
~! /test.php
<? echo "TEST!" ?>

> NormalticEditor 에디터를 쓰는데
/dfwef/normaltic/editor/test.html 시 기본 정보 --


*XXE 
XML로 데이터를 주고받는 곳에서 발생함. << XML 안씀, 구형 사이트만 사용
로그인 정보 요청시 파라미터
<user>
<username>
</username>

>트리구조. ex. 리눅스 디렉토리 구조 
데이터들이 채워짐.

XML시 내맘대로 커스텀마이징이 가능함.
<user>
dataaaaaaaaaaa
</user>

JSON이 나옴.
reflected XXS -> 메서드 변경 불가. GET으로 못받음.
Stored 도 안될수있음. < 꺽새시 치환되어 안될수 있음.

XXE , XML Entity 이용
태그 선언 XML DTD: 정의
내부| 문서 안에서 선언 
외부| 다른 파일에서 선언

<!DOCTYPE test[ <!ENTITY normaltic "hello"> ]>
&normaltic;

내가 쓴 입력값이 그대로 찍혀나올때 선언 변수를 해당 입력값 부분에 넣어
&normaltic: 시 hello 응답.

<!DOCTYPE test[ <!ENTITY normaltic SYSTEM "file:////etc/host"> ]> 등 LFI처럼 파일 가져올 수 있음.
서버 코드를 가져오고 싶으면, var/www/html/xxe/doLogin.php 넣어보면 안된다. > 꺽새로인해.
꺽새없는 파일이면 다 가져올 수 있음





*과제
1.  "모의해킹 대상 요청" 대상 요청
엑셀 xls 파일로 
2. 산출물
-모의해킹 결과 보고서
-증적 사진
-마감 : 다음주 수요일 저녁