일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
- 함수와 디버깅
- 네트워크문제
- 객체지향
- overthewire 문제
- 티스토리챌린지
- 오블완
- bandit level 11 -> level 12 문제풀이
- 혼자공부하는네트워크
- 네트워크정리
- bandit level
- web hacking
- AWS
- 해킹
- 혼공네트
- 취약점진단
- 정보보안
- Dreamhack
- bandit 비밀번호
- overthewire bandit level 0
- 네트워크이론정리
- overthewire bandit 문제풀이
- sk shieldus rookies 23기
- 보안
- kbdinteractiveauthentication
- 공부기록
- sk루키즈
- overthewire bandit 문제
- 포인터와 배열
- bandit 문제풀이
- 데이터와 로직
- Today
- Total
목록[SK shieldus Rookies 23기] 공부 노트/취약점 진단 도구 및 활용법 (17)
아임노드

XSS : 웹사이트에 악성 스크립트를 삽입해 사용자 브라우저에서 실행되게 하는 공격 * 이후 사용할 스크립트를 이용했을 때 공격이 안되면 우회가 거의 불가능하다고 볼 수 있다. 1. dvwa XSS(Stored) (low)로 이동2. 입력길이 제한으로 입력 길이 풀기 f12 > 아래 사진처럼 게시판 글자 부분에서 마우스 우클릭 > 검사(Inspect) 글자 제한이 10개로 되어 있음 확인 100글자로 넉넉하게 수정하기 또는 다른 방법burpsuite에서 패킷 잡아서 해당 부분에 강제로 데이터 넣기 2. 스크립트 넣기 - 게시판에 넣기(이때 식별가능한 문자 넣기. 여기서는 'name test') > sign Gestbook 클릭3. 내가 넣은 소스코드가 잘 들어갔는지 확인view source 또는 해..

1. dvwa(low) > blind SQL Injection 탭으로 이동 2. user ID에 숫자, 문자 넣어보기 -> 여기선 숫자를 넣는 것이 맞음 3. User ID에 쿼리 넣기> 1' and length(database()) = 1 #-> 파란 1을 넣는 이유는 정상적인 데이터는 일단 앞에 넣어주기-> 빨간 1은 2,3,4,5... 씩으로 하나씩 변경하면서 넣어보기-> 4에서 exits 뜸!-> 데이터베이스 이름 길이는 4이구나를 알 수 있음 4. DB이름 뽑아내기(알파벳 유추)burp로 패킷 수집 > Repeater 로 보내기 > 쿼리 붙여넣기 > send5. 다시 다른 방식으로 확인해보기 URL 구성 확인하고Repeater 부분에 해당 부분 복붙send 후 response값 확인 6. 문자열..

SQLMAP- SQLi을 자동화 해주는 도구(취약성 점검)- Python 기반의 오픈소스- 현재 알려진 SQLi 모든 기법을 사용, 모든 벤더 지원 사용법1) SQLi이 가능한 공격 포인트 찾기2) 세션 재사용 가능여부 판단 (로그인을 해야만 접근 가능한 메뉴일 경우)3) 데이터 수집 (패킷정보, URL)4) 공격 명령어 완성 ㄴ 사용하는 방식이 크게 두 가지로 나뉨 4.1) url 방식의 공격 sqlmap -u --cookie --data -p --batch --dump -u : 취약점이 존재하는 URL주소 --cookie : 세션 정보 --data : 파라미터 영역 지정 (취약한 파라미터 지정) ..
SQL Injection(실제로 터지는 경우는 거의 없다고 보면 됨_크리티컬해서 막힌 경우가 대부분) - 데이터베이스의 Query를 통해 DB에 저장된 데이터를 추출하는 공격 기법- 이해해야 할 개념 3가지 ㄴ DATABASE : 아파트 이름 > 데이터가 저장된 저장소 통칭(전체) ex) information_schema 라고 하는 DB 존재, DB 생성부터 만들어짐 (Default) ㄴ TABLE : 아파트의 호수 > 데이터베이스에 저장된 개별(특정영역) 저장공간 ex) information_schemna에는 TABLE 정보와 Column 정보를 저장함 ㄴ Column : 사물이름 > 특징 : 더이상 분할 할 수 없음, 개체를 묶어서 부르는 이름 ..

File Upload크게 두 가지 방법으로 진행- 게시판을 통해 악성파일(웹셸)이 업로드 되는 형태- Method를 통해 업로드 (PUT) 악성파일 기준- 악성파일 업로드까지만 (실행안됨) 취약하지 않음(민간기준) > 실행되면 무조건 취약- 악성파일 업로드만 되도 취약(공공기준)- 악성파일 : asp, jsp, php, html, sh, exe, py, go, svg 등 프로그래밍 언어 확장자 업로드 취약점에 따른 운영체제- 진단하는 웹서버의 운영체제 식별에 따라 점검 시간 단축- ex) 윈도우 서버인데, 내용은 웹셸, 파일 확장자는 jpg로 올리면 실행안됨(시간낭비)- 운영체제 식별 : ping IP 해보면 됨(보통 유닉스 계열은 ping 허용)- 유닉스 계열은 확장자 기반이 아닌 권한 기반으로 동작(..

File Inclusion - 파일 참조 공격 - L(Local)FI, R(Remote)FI으로 나눠짐 - LFI : 경로순회, 파일 다운로드 취약점과 연관성이 있음 ex) http://test.com/abcd/page?path=../../../../../../../etc/passwd ../ -> 상위 디렉토리를 의미 최상위 경로 기준으로 passwd 파일 확인한다는 것 http://test.com/abcd/page?down=../../../../../../../etc/passwd down이라는 함수에 의해 passwd 파일이 다운로드됨 WAF 우회 하기 위해 ../ 에 대해 인코딩 기법 사용(URL,HTML) ex ) ..%2F = ../ 와 같음 (..

Command Injection - 명령어 주입 공격 (여기서의 명령어는 OS에서 지원하는 명령어) - 일반 웹페이지에서는 잘 안나타남 - 임베디드 장비에서 주로 발견(공유기,프린터,CCTV등) ex) http://test.com/cmd?=;ls 명령어를 추가로 사용할 수 있는 입력 문자열을 통해 추가 명령어 실행 - ; , |, ||, && 4개의 문자열이 대표적인 추가 명령어 실행 입력 값 ; + ls / | + ls ... Command Injection1. dvwa > Command Injection(security level:low) 탭으로 이동* security level은 DVWA Security탭에서 변경 가능 2. 오른쪽 하단 view source 클릭이 부분을 확인하기..

Brute-Force 공격 - 무차별 대입공격, 웹 애플리케이션 진단에서는 사전대입 기반 공격을 사용 * 사전대입 : 이미 알려진 단어를 사용하는 방식 - 로그인 취약성, 파라미터 조작 ex) http://test.com/login?id=admin&pw=1234 1234 데이터 대신에 사전기반 데이터를 넣어 취약한 비밀번호 찾기 ex) http://test.com/profile?id=1 1 대신에 다른 데이터를 넣어 페이지 접근 확인 사용 도구 : 1) Burpsuite의 Intruder 기능 이용 2) Python으로 코드 작성 > ChatGPT에 입력하면 바로 작성가능Brute-Force1. proxy 기능을 통해 brute-forcing할 패킷 수집> burpsuite 실행> Proxy는..

- 13개 정도의 취약점 존재 1) 주요통신기반시설 취약점 가이드(KISA) : 28개 2) 전자금융기반 취약점 가이드(금보원/비공식) : 48개 얼마나 빨리 취약점을 찾느냐가 개인 역량 디렉토리 인덱싱(경로 순회)- Path가 노출되어 접속이 가능한 취약점- ex) http://test.com/backup/위 주소에 접속해서 backup 디렉토리에 저장된 파일 열람 가능 - 사용 도구 : gobuster 또는 dirb gobuster1. 사용> gobuster 설치 > gobuster는 wordfile 즉, 사전파일이 필요하다.Desktop 경로에서 실행1) cp로 .(현재경로)에 파일 복사cp /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt..

1. 사용* Desktop 경로에서 실시함-x : method-v : 자세하게 보겠다.# curl -X GET -v http://vulnhub.com# curl -X GET -v [대상주소] 2. 확인> Request Header 부분 > Respone 부분 > 취약점 확인아파치 서버 버전 정보 노출도 취약점으로 확인할 수 있다.(Apache/2.4.38) > OPTIONS 메서드 사용해보기options 메서드는 허용(allow)되어있는 메소드 확인할 때 사용# curl -X OPTIONS -v http://vulnhub.com allow되어있는게 있는지는 respone header에서 확인하면 된다.-> allow라고 적혀있음여기 타겟주소에는 안나옴 이럴 경우 다시 아래 명령어로 확인해보기curl ..