Web Hacking/Study 30

[Kali Linux] weeman 실습 - 피싱사이트 제작

기존에 서버가 구동되고 있다면 중지하기 $ sudo service apache2 stop 다음으로 weeman 다운받기 $ git clone https://github.com/samyoyo/weeman weeman을 다운받은 경로에서 weeman 폴더로 접속 후 weeman.py 파일 실 여기서 show 명령어를 입력하면 현재 설정되어 있는 url, 포트 등등이 나온다. 여기서 복제할 사이트 및 URL 주소, 포트 등등을 set 명령어로 설정해주자. (weeman ) : set url 복제할 사이트 주소 (weeman ) : set action_url 복제할 사이트에서 이동할 페이지 url 주소 (weeman ) : set port 포트번호 (weeman ) : run 이제 브라우저 창에 0.0.0.0을..

Web Hacking/Study 2024.01.26

[Kali Linux] HTTrack - 사이트 복제

아래 명령어로 httrack 설치 $ sudo apt install httrack httrack 명령으로 httrack 실행 프로젝트 이름 설정 - fake_yes24 카피할 웹사이트 주소 설정 Action에서 2번 선택 나머지 쭉 엔터 다음으로 카피된 파일을 DVWA 폴더로 옮겨주어야 한다. 파일은 기본적으로 생성되면 /root/websites 폴더 밑에 우리가 만든 fake_yes24 프로젝트 폴더가 생성되어 있을 것이다. 이를 /var/www/html/ 폴더로 옮겨주자. $ sudo mv /root/websites/fake_yes24 /var/www/html/ 이전에 선행으로 먼저 DVWA를 설치해야 하는데, 일단 DVWA가 설치되어 있다고 가정을 하고, apache2 서버를 시작한다. sudo s..

Web Hacking/Study 2024.01.26

[Kali Linux] DVWA 설치

Apache2 설치 sudo apt-get update # apache2 설치 sudo apt-get install apache2 #서버 시작 sudo service apache2 start #서버 중단 sudo service apache2 stop #서버 재시작 sudo service apache2 restart #OS 시작 시 자동 시작 sudo systemctl enable apache2 #OS 시작 시 자동 시작 해제 sudo systemctl disable apache2 기본적으로 apache2를 설치하였다면 다음 명령어 수행으로 서버 상태 확인 가능 $ systemctl start apache2 $ systemctl enable apache2 $ systemctl status apache2 데..

Web Hacking/Study 2024.01.26

경로 순회 취약점이란?

경로 순회란? 경로 순회는 디렉터리 순회라고도 하며, 이러한 취약점으로 인해 공격자는 응용 프로그램을 실행하는 서버에서 임의의 파일을 읽을 수 있음 어떤 경우에는 공격자가 서버의 임의 파일에 글을 써서 응용 프로그램 데이터나 동작을 수정하고 궁극적으로 서버를 완전히 제어할 수 있음 경로 순회에 취약한 애플리케이션은 /etc/passwd의 파일을 검색하기 위해 다음과 같은 URL을 요청할 수 있음 https://insecure-website.com/loadImage?filename=../../../etc/passwd 위 URL을 통해서 애플리케이션은 다음 파일 경로에 요청된다. /var/www/images/../../../etc/passwd Windows 운영체제에서는 ../와 ..\ 둘 다 유효한 디렉터..

Web Hacking/Study 2024.01.15

Authentication 취약점이란?

Authentication(인증)이란? 인증은 사용자나 클라이언트의 신원을 확인하는 프로세스이며 세 가지 주요 유형이 존재. 비밀번호나 보안 질문에 대한 답변 등 사용자가 알고 있는 정보를 "지식 요소"이라고 함 가지고 있는 것, 휴대폰이나 보안 토큰과 같은 물리적인 물체를 "소유 요인"이라고 함 하는 일이나 생체 인식, 행동 패턴 등을 "고유 요인"이라고 함 인증과 승인의 차이점 인증은 사용자가 자신이 주장하는 사람인지 확인하는 프로세스이며, 승인은 사용자가 어떤 작업을 수행할 수 있는지 여부를 확인하는 작업이 포함됨 Authentication 취약점이 발생하는 이유 인증 메커니즘이 무차별 대입 공격으로부터 적절하게 보호받지 못하기 때문 구현 시 논리 결함이나 잘못된 코딩으로 인해 공격자가 인증 메커니..

Web Hacking/Study 2024.01.15

UNION Based SQL Injection 정리

이번에는 UNION Based SQL Injection에 대해서 정리를 해보려고 한다. UNION Based SQL Injection이란 UNION Based SQL Injection은 질의한 SQL 쿼리의 결과가 응답에 포함될 때, UNION 또는 UNION ALL 을 이용해 원래의 SQL 쿼리에 민감한 데이터를 추출하는 SQL 쿼리를 더하여 공격하는 방법이다. UNION Based SQL Injection의 조건 통합되는 각 SQL 쿼리는 SELECT 절에서 동일한 갯수의 컬럼을 사용해야 한다. 원래 SQL 쿼리의 SELECT 절 컬럼의 자료형이 새로 삽입되는 쿼리의 SELECT절 컬럼의 자료형과 호환되어야 한다. UNION Based SQL Injection을 수행할 때 반환되는 컬럼 수 확인 방법..

Web Hacking/Study 2024.01.13

Relative Path Overwrite (RPO) 취약점이란

Relative Path Overwrite (RPO)란? 일반적으로 자바스크립트나 스타일시트 코드를 로드하는 과정에서 경로 해석의 문제로 인해 발생하며, 임포트하는 페이지의 내용을 조작시킬 수 있다면 공격자가 의도한 자바스크립트, 스타일시트 코드를 로드시킬 수 있다. 아래와 같은 소스 코드를 페이지에서 임포트 해온다고 했을 때, http://host/rpo.php로 접근하였을 땐 둘 다 같은 경로의 /app/main.js 를 로드하지만 http://host/rpo.php/ 처럼 마지막에 /문자를 붙여서 요청하게 되면 두 번째 소스 코드는 host/rpo.php/app/main.js 를 로드하게 된다. 자바스크립트와 연계 만약 RPO 취약점으로 로드하는 자바스크립트 코드의 앞 부분을 공격자가 조작할 수 있..

Web Hacking/Study 2024.01.02

CSP(Content Security Policy)

CSP란? Content Security Policy (CSP, 컨텐츠 보안 정책)는 웹 사이트 관리자가 웹 페이지에서 사용할 수 있는 콘텐츠 유형을 브라우저에게 지시하는 방식이다. CSP는 주로 XSS 공격을 방지하는 데 사용되며, 이 정책은 웹 페이지에서 실행할 수 있는 스크립트와 스타일, 이미지, 폰트 등의 자원을 제한함으로써 웹 사이트의 보안을 강화한다. CSP의 주요 기능 출처 제한: CSP를 통해 웹 사이트는 스크립트, 스타일시트, 이미지, 폰트, AJAX 요청 등의 리소스가 로드될 수 있는 출처를 지정할 수있다. 이를 통해 불신할 수 있는 출처로부터의 콘텐츠를 차단한다. 인라인 스크립트 및 스타일의 제한: XSS 공격은 종종 인라인 스크립트를 통해 수행된다. CSP는 인라인 스크립트와 CSS..

Web Hacking/Study 2023.12.23

XSS 필터링 우회

자바스크립트 코드를 실행할 수 있는 HTML 태그는 이외에도 상당수 존재한다. 대표적으로 이벤트 핸들러를 지정하는 on으로 시작하는 속성들이 있으며 onload, onerror, onfocus가 존재 이벤트 핸들러 onload - 해당 태그가 요청하는 데이터를 로드한 후에 실행, 만약 로드에 실패하였다면 실행되지 않음 onerror - 해당 태그가 요청하는 데이터를 로드하는데 실패할 시 실행, 만약 로드에 성공했다면 실행 x onfocus - input 태그에 커서를 클릭하여 포커스가 되면 실행되는 이벤트 핸들러이며, 일반적으로 공격 상황에서 input 태그의 autofocus 속성을 이용해 자동으로 포커스 시키거나, URL의 hash 부분에 input 태그의 id 속성 값을 입력해 자동으로 포커스 되도..

Web Hacking/Study 2023.12.21

Error & Time based SQL Injection

애플리케이션이 어떻게 동작하는지에 따라서 SQL Injection 공격 형태가 달라진다. 예를 들어, 게시판 서비스에서 해당 취약점이 발생하면 게시물의 제목, 본문을 이용해 데이터베이스의 정보를 획득할 수 있다. 이는 SQL 쿼리가 실행되는 결과를 공격자가 직접 눈으로 확인할 수 있다. 이와 달리 쿼리 결과를 애플리케이션의 기능에서 출력하지 않는 경우도 있는데, 이러한 상황에서 공격을 수행하는 Error based SQL Injection과 Time based SQL Injection이 파생되었다. 이들은 취약점 발생 형태는 같으나 공격 성공 여부를 어떻게 판단하느냐에 따라 명칭이 구분된다. Error based SQL InjectionError based SQL Injection은 임의의 에러를 발생시..

Web Hacking/Study 2023.07.01