11.3.1 강제 브라우징
강제 브라우징(Forced browsing)은 웹 서버의 공개 디렉토리에 있는 파일 중 공개 의도가 없는 파일을 열람하는 취약성이다.
url을 숨기는 수준의 보안 대책을 사용하고 있다면 해당 url만 알면 파일을 열람할 수 있게 된다.
예측하기 쉬운 url를 사용하면 좋지 않다.
😓 추측하기 쉬운 파일명
http://2jun0/secret.txt
😓 백업 파일
에디터에서 만들어준 백업파일은 권한이 따로 정해지지 않는 경우가 많아 노출될 위험이 있다.
http://2jun0/secret.txt~ (백업파일)
11.3.2 부적절한 에러 메시지 처리
부적절한 에러 메시지 처리(Error Handling Vulnerability)는 공격자에게 유익한 정보가 웹 에플리케이션의 에러 메시지에 나타나는 취약성이다.
예시로 해당 이메일이 없다는 오류 메시지나 SQL 에러 메시지가 클라이언트에게 노출되는 상황이 있다.
11.3.3 오픈 리다이렉트
오픈 라다이렉트(Open Redirect)는 지정한 임의의 URL로 리다이렉트 하는 기능이다.
공격자가 해당 URL를 수정하면 문제가 될 수 있다.
다음은 www.solved.ac
로 리다이렉트하는 기능이다.
http://example.com/?redirect=http://www.solved.ac
사용자는 example.com
을 볼 생각이였지만,
다음과 같이 공격자가 이 기능을 이용해서 www.hackr.jp
로 유도 시킬 수 있다.
http://example.com/?redirect=http://www.hackr.jp
11.4.1 세션 하이잭
세션 하이잭(Session Hijack)은 공격자가 사용자의 세션 id를 탈취하는 공격방식이다.
사용자의 웹 페이지에 스크립트를 주입해 세션을 탈취 할 수 있다.
쿠키에 httpOnly가 설정되어 있지 않으면 아래 값을 공격자에게 보내면 세션을 쉽게 탈취할 수 있다.
document.cookie
11.4.2 세션 픽세이션
세션 픽세이션(Session Fixation)은 세션을 공격자가 미리 발행해 웹 서비스에 등록하는 방식이다.
11.4.3 크로스 사이트 리퀘스트 포저리
크로스 사이트 리퀘스트 포저리(CSRF)는 인증된 유저의 정보를 이용해 공격자가 임의의 리퀘스트를 보내는 방식이다.
아래와 같은 글을 보는 것 뿐만으로 공격자는 사용자가 모르는 리퀘스트를 보내게 할 수 있다.
페이지 안에 안보이는 스크립트나 태그를 이용한 요청을 보낼 수 있다.
<img src="보내고 싶은 리퀘스트의 URL">
11.5.1 패스워드 크래킹
패스워드 크래킹은 패스워드를 알아내는 공격방식이다.
다음과 같은 공격 방식이 있다.
- 무차별 대입 공격
- 사전 공격
- 레인보우 테이블
💥 무차별 대입 공격
브루트 포스 공격(Brute-force Attack)이라고도 하는 이 방식은 가능한 모든 수를 시험해봐서 인증 시스템을 돌파하는 방식이다.
영대문자, 영소문자, 특수문자, 숫자까지 합하면 너무 많은 경우의 수가 생기기 때문에 매우 오래 걸릴것이며
보통은 서비스 제공자가 연속해서 비밀번호를 틀리면 제제를 가하기 때문에 어려운 방식이다.
📕 사전 공격
사전에 많이들 쓰는 패스워드 목록을 만들어두고 대입해보는 방식이다.
무차별 대입 공격과 크게 다를 건 없지만 q1w2e3r4같은 비밀번호는 쓰는 사람도 많아 잘 먹힐수도 있다.
🌈 레인보우 테이블
흔한 비밀번호와 흔한 암호화 방식은 평문-해시값 정보를 저장하고 있는 경우가 많다.
이 정보를 저장한 공간을 레인보우 테이블이라 한다.
레인보우 페이블을 이용하면 매우 쉽고 빠르게 평문을 알아낼 수 있다.
예시로 아래에서 MD5 레인보우 테이블을 이용해 볼 수 있다.
자신의 비밀번호를 아래 사이트 같은 곳에서 시험해보지 말자!
11.5.2 클릭 재킹
클릭 재킹(Clickjacking)은 투명한 버튼이나 링크를 웹 페이지에 심어둬서 유저가 링크를 클릭하게 하는 수법이다.
예컨데 아래의 웹 페이지에서
엄청 안전하고 멋질 것 같은
무료 다운
버튼을 누른다고 하자.
그런데 알고보니 이 페이지는 iframe이 투명으로 맨 위에 떠있는 형태였다.
투명도를 낮추면 아래와 같이 보일 것이다.
투명도를 완전히 없애면 아래와 같이 된다.
사용자는 자기도 모르게 회원을 탈퇴하게 될 것이다.
11.5.3 DoS 공격
DoS 공격(Denial of Service attack)은 서버에 과부화를 일으켜 서비스 장애를 일으키는 공격 방식이다.
다음과 같은 종류가 있다고 한다.
- 대량의 엑세스로 리소스를 소진하게 만듦
- 취약성을 공격해 서비스 정지
대량의 컴퓨터를 이용해 DoS 공격을 하는 것을 DDoS공격이라고도 하며, 단순히 요청을 많이 보내는 것이라서 정상적인 요청과 구별이 힘들다.
11.5.4 백도어
백도어는 제한된 기능을 우회해 이용하기 위한 뒷문이다.
다음과 같은 종류가 있다고 한다.
- 디버그 용으로 만들어둔 백도어
- 공격자가 몰래 설치한 백도어
'스터디 > 그림으로 배우는 Http Network Basic' 카테고리의 다른 글
스터디를 마치고 (1) | 2023.01.08 |
---|---|
08_누가 엑세스하고 있는지를 확인하는 인증 - 그림으로 배우는 Http Network Basic (0) | 2023.01.07 |
02_간단한_프로토콜_HTTP - 그림으로 배우는 Http Network Basic (0) | 2023.01.06 |