CSRF ( CROSS SITE REQUEST FORGERY, 사이트 간 위조 요청 )- 공격자가, 사용자가 사용하고 있는 브라우저를 이용해, 공격자가 조작한 HTTP Request를 웹서버에 보내는 공격방법■ 대상하기의 페이지는 로그인 된 사용자의 비밀번호를 변경하는 평범한 사이트, 해당 사이트를 버프 스위트로 프록시를 잡아보면 비밀번호 변경 요청에 대한 내용이 그대로 드러나는 것을 볼 수 있음■ 공격버프 스위트에 존재하는 HTML element Injection Brog 페이지로 넘어가 이미지 태그를 사용하여 악의적인 공격 수행 1. Img 태그를 사용한 공격- 이미지의 노출을 방지하기 위해 가로,세로폭을 0으로 줌 2. a 태그를 사용한 공격- a 태그를 사용하여 악의적인 링크를 생성할 수 있음..
Programming
LFI (Local File Inclusion)로컬 파일 포함 취약점서버에 존재하는 파일을 공격자가 포함시켜 실행하거나 내용을 확인하는 공격 RFI (Remote File Inclusion)원격 파일 포함 취약점공격자가 자신의 서버에 올려둔 파일을 불러와서 실행하게 만드는 방식■ 대상- 하기에 페이지는 이전 File traversal 취약점과 유사하게 FILE PATH 또는 FORDER PATH 로 컴퓨터 내부의 의도치 않은 내부 파일들을 열람할 수 있음, 해당 사이트에 위에서 상술한 외부에서 파일을 불러와 발생하는 RFI 취약점 공격을 해볼 것 임■ 공격1. 사전 공격 파일 작성- BWAPP 은 php 로 동작하기에 공격을 수행하기 위한 소스코드 작성간단한 alert 과 php system 함수를 ..
Directory Traversal 이란?Directory Traversal (디렉토리 트래버설)은 웹 애플리케이션에서 사용자가 파일 경로를 조작하여 원래 접근하면 안 되는 서버 내부의 파일에 접근하는 보안 취약점, 다른 말로는 Path Traversal이라고도 불림■ 대상1. Directory traversal - 대상은 폴더내에 있는 파일들에 대해서 리스트로 불러와주는 페이지로 추정- 해당 페이지의 URL 을 보면 directory 를 인자로 받는 것을 볼 수 있고 해당 인자의 파라미터로 공격수행 가능 ■ 공격- ../ 같은 상위폴더를 볼 수 있는 명령어를 통해 타 폴더 검색가능2. File traversal - 해당 페이지는 URL 에 특정 파일을 입력받아 그에 따른 내용을 출력해주는 것으로 보..
WebDAV는 Web Distributed Authoring and Versioning의 약자로, 웹 서버를 파일 서버처럼 사용할 수 있게 해주는 HTTP 기반의 프로토콜 확장■ 대상아래 대상은 웹 파일 관리자 WebDav의 권한 취약점이 있는 사이트, 아래 볼드체로 되어있는 WebDAV를 누르면 해당 사이트로 이동 가능 하기에 사이트는 별다른 접근 권한이 없는 것으로 추정 됌■ 공격 가능 유무 확인- 버프스위트로 요청을 잡은 후 GET 메소드를 PUT 메소드로 변조시켜 파일 업로드 시도 - 파일 업로드 성공 확인 ■ 공격 - 이번 공격은 한 개발자가 만든 b374k 라는 웹쉘 프로그램을 사용해 진행- 필자는 b374k2.2 버전사용https://github.com/tennc/webshell/tre..
■ Os Commend Line Injection 이란OS 명령 인젝션(OS Command Injection 또는 Shell Injection)은 웹 애플리케이션이 구동 중인 서버의 운영체제상에서 임의의 명령을 실행하도록 하는 웹 취약점■ 대상아래 해당 페이지는 Os 커맨드 인젝션 페이지 이다.해당 페이지는 DNS Lookup 이라는 프로그램을 통해 검색한 Domain Name Server 의 정보를 가져옴.■ 공격하기 페이지에 페이지에 | 으로 파이프라인을 연결 시켜준 후 cat 또는 ls 명령어들을 실행하면 공격이 성공하는 것을 볼 수 있음.■ 원인원인을 추적하기 위해 commandi.php 에 명령 처리 부분을 보면 별다른 필터링없이 shell 명령어를 실행하는 것을 볼 수 있음 ■ 대응..
■ 본 포스팅은 kail linux 와 nussusd 가 설치 되어있는 것 을 전제로 함1. New 스캔을 통한 스캔 새로 설정하기■ Nessusd 메인 페이지에서 new Scan 을 누르고 하기에 이름과 타겟 아이피 주소를 적는다 ■ 타겟 Ip 는 각 Os 에서 ifconfig 또는 ipconfig 명령어를 통하여 확인한다. 2. Config 세팅하기■ ASSESSMENT 는 하기 이미지와 같이 세팅한다.■ RERORT 는 하기 이미지와 같이 세팅한다.■ ADVANCED 는 하기 이미지와 같이 세팅한다.3. Plugin 세팅하기■ 플러그인 에서 CISCO, F5 NETWORK, FEDORA, HUAWEI 를 DISABLE 처리한다4. Save 후 Scan 중인 취약점 확인하기■ 우선 metasplo..
■ 데이터의 역사- 쐐기문자가 최초의 문자이자 데이터이다.- 기원전 3000년 경에 수메르트인들이 점토판에 모양을 쓰는 식으로 제작 ■ 숫자- 아라비아 숫자를 국제 표준 으로 사용- 각 수의 앵글 갯수에 따라서 수가 올라감 ■ 데이터의 다양한 저장 매체들- 천공카드 : 데이터를 표기하기 위해 종이 위에 구멍을 뚫어 0과1로 표현하는 방식의 저장매체, - 드럼 메모리 : 원형 모양의 자기방식의 데이터 저장매체, 초기용량 6.25kb 라는 특징이 있음 - 자기 테이프 : 테이프 형태의 저장매체, "순차 접근" 만 가능- 하드 디스크 드라이브 : 비휘발성 보조 기억장치, 플러피가 지속 회전하며 데이터 저장- SSD ( Solid State Drive ) : 반도체 형태의 저장매체, 속도가 빠르지만 비싸다는..
• 문제 4 -> 5 ■ 풀이- bandit4 로그인 후 ls 로 현재 디렉토리의 구성요소 확인bandit4@bandit:~$ lsinhere- cd 명령어를 통해 inhere 디렉토리로 이동- 그 후 ls 명렁어를 해보면 0 ~ 9 개의 파일 있음bandit4@bandit:~$ cd inhere/bandit4@bandit:~/inhere$ ls-file00 -file01 -file02 -file03 -file04 -file05 -file06 -file07 -file08 -file09bandit4@bandit:~/inhere$ ls -altotal 48drwxr-xr-x 2 root root 4096 Sep 19 07:08 .drwxr-xr-x 3 root root ..
• 문제 0 -> 1■ ssh 로 bandit 에 로그인 및 암호 찾기 ■ 풀이- 문제에서 제공해주는 내용 중 아이디는 bandit 이며 port 는 2220 으로 접근 하라함- 호스트 주소는 0번째에 있음 ( bandit.labs.overthewire.org )- 맥북 기준 아래 명령어 입력 후 비밀번호 입력ssh -p 2220 bandit0@bandit.labs.overthewire.org 입력 후비밀번호 입력 란에 bandit0 입력 - 위 과정 후 ls 명령어를 통해 readme 가 있는 것 을 확인하고 cat 명령어를 통해 내용을 읽기bandit0@bandit:~$ lsreadmebandit0@bandit:~$ cat readmeCongratulations on your first step..
■ file vulnerability를 통한 공격을 위한 드림핵 file-download-1 풀이■ file vulnerability (파일 취약점) 이란?- 파일을 업로드 하거나 다운로드 하는 과정에서 발생하는 취약점, 업로드와 다운로드 취약점 으로 구분된다.■ upload vulnerability ( 업로드 취약점 ) : 파일을 업로드를 하는 과정 발생하는 취약점, GCI ( Common GateWay Interface ) 로 실행되는 파일을 업로드해 시스템의 임의 명령어를 실행하거나, HTML 파일을 업로드하며 xxr ( cross-site-scripting) 공격을 수행할 수 있음,또한 path traversal 취약점 과 연계하여 폴더에서 벗어난 루트에 공격을 실행할 수 있다.■ download..
1. vscode 에서 extension 탭 클릭2. Material Icon Theme 설치3. 설치 후 상단바에서 테마 선택4. 아이콘 변경 확인
현재 만들고 있는 django 게시판 페이지의 게시글 소유자 확인을 위한 로그인, 로그아웃, 회원가입 구현1. 현재 프로젝트의 공통요소들을 포함하기 위한 common 앱 생성 후 앱 등록1.1 하기의 명령어를 통하여 common 앱 성성django-admin startapp common1.2 config 프로젝트 settings.py 및 urls.py 에 common 앱 등록 및 로그인 후 redirect url 지정setting.pyINSTALLED_APPS = [ 'common.apps.CommonConfig', # 추가 ... 이하 생략 ...]LOGIN_REDIRECT_URL = "/" # 추가urls.pyfrom django.urls import path, includefrom py..