- SQL Injection
- XSS
- CSRF
- File Upload/ Download
- 인증/인가
xpath XSSE OS injection 등 모두 xpath 공격
CSRF : 피해자가 자신도 모르게 임의의 요청을 보내는 공격
CSRF/ XSS 차이 : 두 공격의 정의를 한번 짚어주는 것이 좋음.
CSRF에서 XSS를 사용하면 공격 성공률이 증가함.
서버측 공격(but. 이용자인 클라이언트를 공격하나 서버에게 요청을 하기에 서버측 공격이라 표현하기도 함.)
CSRF
발생 위치 : 모든 요청
-> 컨설턴트의 주관이 필요함.
ex) 게시판 글작성. but 관리자만이 쓸 수 있는 곳. or 광고글을 사용 가능한 곳
- 공격 기법 ( 무조건 로그인 상태에서 공격됨)
1) GET Method :
URL 링크를 만들어 클릭하도록 유도.
> 일반적으로 공격이 성공하기 위해서는 세션에 로그인이 되어야 하므로 로그인 페이지 다음에 링크를 위치시키는 것이 좋음
2) POST Method
> 무.조.건 XSS ->> 같은 도매인 내에
이유 : [세션]이 있어야 함!!!!! +동일출처정책..
<form>태그 사용을 위해 xss 필요
3) Referrer Bypass
-> meta태그를 통해 Referrer을 없이 전송
<meta name="referrer" content="no-referrer">
4) CSRF Token
전송 페이지에 form으로 csrf token을 넣어놓고 요청시 같이 전송.
이때 token은 랜덤값임.
but XSS 취약점이 존재하면 우회가능
<iframe src="CSRF Token이 있는 페이지 URL" id="getCSRFToken" onload="ex()">
<!-- 로딩이 된 뒤에 ex 함수 실행
토큰 발행 전 코드실행을 막기 위함 -->
</iframe>
<script>
function ex(){
document.getElementById('getCSRFToken').contentDocument.form[0].jcsrf_token.value;
}
</script>
위와같이 토큰을 가져올 수 있으며 var을 통해 변수를 저장 할 수도 있음.
<form id="csrf_form" method="" action="">
<input neame="csrf_token">
document.getElemetntByID('csrf_token').csrf_token.value=token;
//csrf_form의 csrf_token에 value값을 넣음.
대응방안
1) 지키고자 하는 요청에서 인증정보를 추가함
ex) 비밀번호 변경 페이지에서 현제 비밀번호를 물어봄/ 휴대폰으로 인증번호를 전송해 이를 적게 함.
2) 게시판과 같이 상대적으로 덜 중요 - Referer Check, CSRF Token. chapcha
captcha목적 : 자동화 공격을 막기 위해서. -> 클라이언트 측에서 실행됨.
핑거프린팅
어떤 기업/ 직원. 어떤 컴퓨터 어떤 브라우저 어떤 아이피인지.
$_REQUEST['']
<from metod get target
- SSRF
Server Side Request Forgery
: 서버가 어디론가 임의의 요청을 보내게 하는 것.
발생 위치
: 서버가 외부자원 (리소스)을 이용하는 곳.
: 파라미터로 URL을 받는 곳
ex) 날씨정보 출력기능. 날씨정보를 가져오는 주소를 파라미터로 가져올경우
vew.php?weatherAPI=주소.
이때 파라미터로 요청을 해서 데이터를 가져와 페이지를 작성함. 즉, 이 주소를 공격자가 원하는 주소를 넣게 되면 CSRF처럼 작동이 가능
서버의 권한을 이용(내부에서만 접근할 수 있는 리소스에 접근시에 주로 사용)
ssh://localhost/와 같이.
port scan
http://182.168.0.?:80
우리가 모르는 웹서버를 발견 할 수 있음
외부 API를 사용하는 경우가 잦아져 SSRF 취약점이 늘어남.->중요도 증가.
대응방안
: 파라미터로 API주소를 받지 않는다!!!
File Upload 공격
: 업로드 되는 파일을 제한 하지 않아 공격자가 실행 가능한 파일을 업로드 할 때 발생
1) 용량
2) Phishing
->페이지 삽입.
3) Deface
index페이지 바꾸기.
4) XSS
5) Server Side Script
one lien web shell
<?php echo systen($_GET['cmd']); ?>
1. CSRF 1,2,3
실제 시나리오로 구현
2. SSRF
실습
3. FIle Upload 기능 웹개발
4. File Upload 공격 web shell 업로드 및 쉘 탈취.
'Nomaltic Hacking Study' 카테고리의 다른 글
2023.06.08 (0) | 2023.06.08 |
---|---|
2023.06.01 (0) | 2023.06.01 |
2023.05.18 (0) | 2023.05.18 |
2023.5.11 (0) | 2023.05.11 |
2023.05.09 (0) | 2023.05.09 |