'Web Security' 카테고리의 글 목록
본문 바로가기

Web Security

(42)
Lab: SSRF with filter bypass via open redirection vulnerability 이 실습에는 내부 시스템에서 데이터를 가져오는 재고 확인(stock check) 기능이 있습니다. 이 실습을 해결하려면 재고 확인 URL을 변경하여 http://localhost/admin 에 있는 관리자 인터페이스에 접근한 뒤, 사용자 carlos를 삭제해야 합니다. 개발자는 SSRF(서버 사이드 요청 위조) 방어 기능을 배포해 두었으므로, 이를 우회(bypass) 해야 합니다. 재고 버튼을 클릭합니다. stockApi 파라미터에 http://localhost/admin 입력 시 불가능한 URL 주소라는 것을 알 수 있습니다. 오른쪽 하단에 Return to list | Next product 버튼이 생성된 것을 알 수 있습니다. path 파라미터를 보면 경로 URL 주소가 입력되어 있는 것을 알 수 ..
Lab: SSRF with blacklist-based input filter 이 실습에는 내부 시스템에서 데이터를 가져오는 재고 확인(Stock Check) 기능이 있습니다. 실습을 해결하려면 재고 확인 URL을 변경하여 http://localhost/admin에 있는 관리자 인터페이스에 접속하고, 사용자 'carlos'를 삭제하십시오. 개발자는 당신이 우회해야 할 두 가지 취약한 SSRF 방어책을 적용해 두었습니다 재고 버튼을 클릭합니다. stockApi 파라미터에 http://localhost/admin 입력했지만 아무 반응이 없는 것을 알 수 있습니다. 이번에는 http://Localhost 입력하면 필터링을 우회하여 페이지 접속되는 것을 알 수 있습니다. http://Localhost/Admin 입력하면 필터링을 우회하여 관리자 페이지 접속되는 것을 알 수 있습니다. 소..
Lab: Basic SSRF against another back-end system PortSwiggerWeb Academy에 SSRF Lab 접근. LAB 목표는 '192.168.0.0/24' 대역을 스캔하여 admin페이지로 접근 후 'carlos' 계정을 삭제해야 CLEAR. 바로 admin 페이지로 접근 시, 해당 페이지는 없는 것으로 확인 /admin 페이지가 존재하지 않는 것을 알 수 있습니다.재고 버튼 클릭 시, URL 경로를 불러오는 것을 알 수 있습니다. 네트워크 스캔을 위해 BurpSuite Intruder 설정을 아래와 같이 설정합니다. 내부 대역 스캔을 위해 아래와 같이 Payloads를 설정을 합니다. http://192.168.0.161:8080/admin 페이지 에러 응답코드 200 성공으로 접속되는 것을 알 수 있습니다. SSRF를 통해 관리자 페이..
Lab: Basic SSRF against the local server PortSwigger Web Academy에 SSRF Lab 접근. LAB 목표는 'http://localhost/admin' 경로로 접근하여 'carlos' 계정을 삭제해야 CLEAR. 바로 admin 페이지로 접근 시, admin 계정만 접근 및 사용할 수 있는 것을 확인. URL 주소에 /admin 입력 시 아래와 같이 admin 페이지는 관리자만 접근 가능한 것을 알 수 있습니다. 요청 값 stockApi 파라미터에 URL 주소를 통해 API 값을 불러오는 것을 알 수 있습니다. stockApi 파라미터에 http://localhost/amdin URL 주소를 입력하면 정상적으로 불러오는 것을 알 수 있습니다. 페이지 하단에 /admin 페이지를 불러오는 것을 알 수 있습니다. carlors - ..
CORS 1. CORS (Cross Origin Resource Sharing) 현재 웹 페이지가 이 페이지를 불러온 서버가 아닌 다른 서버의 자원을 호출하는 것을 의미 지정된 도메인 외부에 있는 리소스에 대한 액세스를 제어할 수 있는 브라우저 메커니즘 다른 도메인에서 실행 중인 Web Application에서 선택된 자원에 대한 접근 권한을 부여 기존의 XML HTTP Request의 경우 보안상의 이유로 자신과 동일한 도메인으로의 요청만 가능하도록 제한되어 있었지만 웹 개발과 사용 편의성을 높이기 위해 Cross-domain의 필요성을 느껴 만들어진 것이 CORS이다. 자바스크립트의 API에 대한 호출은 SOP의 제약을 받는다. 자바스크립트와 같이 웹 브라우저에서 동작하는 프로그래밍 언어에서, 웹 브라우저에서..
XML External Entity Attacks (XXE) XML External Entity Attacks (XXE) - SYSTEM 키워드로 XML 파서를 발생하게 하면 페이지의 내용을 대체하는 권한이 생기고, 공격자는 XML 파서로 서버 시스템에 접근할 수 있다. Level (Low) XML External Entity Attacks에서 Any bugs? 버튼을 눌러도 아무 반응이 없었다. 소스코드 내용에서 xxe-2.php로 POST 방식으로 전달되는 것을 알 수 있다. 버프스위트를 이용해 내용을 확인했다. xxe-2.php 파일 내용을 확인했다. 버프스위트 Repeter 기능을 이용해 그림 1-4 코드를 내용을 확인했다. heroes.xml 내용이 Base64로 인코딩이라는 것을 알 수 있다. 그림 1-7 내용을 base64로 디코딩하면 그림 1-6와 ..
Remote & Local File Inclusion (RFI/LFI) Remote & Local File Inclusion (RFI/LFI) - 악의적인 코드가 입력된 파일을 사용자가 서버에서 열람하는 공격을 말한다. Level (Low) Remote & Locla Fiel Inclusion 문제에서 go 버튼을 눌러 메시지를 확인했다. ../ 파일 위치 취약점을 이용해 etc/passwd 내용이 노출되는 것을 알 수 있다. 계정 정보가 노출되는 것을 알 수 있다.
Directory Traversal – Directories Directory Traversal – Directories - 상대경로나 기본으로 설정된 파일명, 디렉터리명을 통하여 관리자가 접근을 허용하지 않은 디렉터리나 파일에 접근하기 때문이다. Level (Low) Directory 취약점이라는 것을 확인할 수 있다. Directory 취약점 소스코드를 확인해 파일 위치를 확인할 수 있다. 192.168.0.8/bWAPP/documents 경로에 영화 정보 파일들을 확인할 수 있다. 파일 경로 취약점을 이용해 etc 파일들을 확인할 수 있다. 대응방안 directory 변수에 상대경로를 입력하거나 존재하는 디렉터리를 입력하여도 다른 디렉터리로 이동하지 않는다. 기본 경로는 변수를 사용하여 documents 디렉터리로 한정하고 있어서 상대경로를 입력하여도 다른 ..