일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Cookie
- 파일 업로드 취약점
- Reconnaissance
- active reconnaissance
- OS Command Injection
- Authentication
- php To Do List
- php
- Cryptography
- overthewire
- THM
- FTZ
- over the wire
- Leviathan
- php 파일 업로드하기
- active recon
- sql injection
- SQLi
- BANDiT
- ssrf
- Server Side Request Forgery
- Recon
- php file upload
- access control
- file upload
- php login page
- War Game
- php 로그인 페이지 만들기
- privilege escalation
- tryhackme
- Today
- Total
목록Port Swigger (50)
R's Hacking Daily Log
Bypassing SSRF filters via open redirection 이번에 살펴볼 SSRF attack은 redirection을 활용한 공격이다. 어떤 종류의 필터이든지 간에 open redirection 취약점을 악용함으로써 필터 기반의 방어가 때때로 우회될 수 있다고 한다. 앞에서 살펴본 Lab에서 stockApi를 사용하는 걸 볼 수 있었다. stockApi는 사용자의 요청을 처리하기 위해서 한 서버가 시스템 내부의 또 다른 서버에게 보내는 요청이라 생각하면 된다. filter를 사용하더라도 백엔드 시스템 내에서 보내는 http requets가 redirection을 허용한다면 filter는 우회될 수 있다. /product/nextProduct?currentProductId=6&path..
SSRF with whitelist-based input filters Lab(3)에서는 Blacklist 기반의 input filter를 적용한 사례를 살펴보았다. 이번 Lab에서는 그와 반대로 whitelist 기반으로 input filter가 적용된다고 한다. Blacklist가 list에 해당하는 경우를 차단하는 식이라면 Whitelist는 list에 해당하는 경우만 허용하는 식으로 동작한다. whitelist 기반의 input filter가 동작하는 경우 1) @ 기호를 사용해 hostname 앞에 Credential을 작성할 수 있다. : 흔히 말하는 이메일의 형태를 생각하면 된다. http://expeted-host:fakeCred@evil-host 2) # 기호로 URL fragment를 ..
Circumventing common SSRF defenses 지금까지 살펴보았던 Lab은 기본적인 SSRF를 실행해 본 느낌이었다. 이번 Lab에서는 조금 다르게 SSRF 공격에 대한 방어가 이루어진다고 한다. SSRF를 예방하기 위한 여러 방법이 존재하겠지만 이번에 살펴볼 Lab에서는 Blacklist 기반의 input filter를 사용한다. SSRF with blacklist-based input filters 몇몇 어플리케이션에서는 SSRF 공격을 예방하기 위해서 1) /admin과 같은 민감한 URL 2) localhost & 127.0.0.1과 같은 hostname을 포함하는 input 을 차단한다고 한다. 1 & 2의 경우가 차단된다고 할 때, 127.0.0.1의 alternative IP..
Against other back-end systems 두 번째로 살펴볼 케이스는 사용자가 직접 연결할 수 없는 다른 백엔드 시스템과 서버가 상호 작용하는 경우이다. 이런 경우에는 private IP를 사용하는 경우가 많은 데 백엔드 시스템은 일반적으로 네트워크 토폴로지에 의해 보호되기 때문에 보안 상태가 약한 경우가 많다고 한다. ** 이때 서버와 시스템은 서로 신뢰 관계에 있기 때문에 악의적인 요청(etc. 민감한 데이터)이라 할지라도 아무 생각 없이 처리해줄 것이다. Lab - Basic SSRF against another back-end system 어떤 application에서 http://192.168.0.68/admin이라는 url로 백엔드 관리 인터페이스에 접근한다고 한다. POST /p..
Lab - Basic SSRF against the local server ) Lab에 들어가 보면 shopping applicaiton 답게 이런저런 아이템을 볼 수 있다. 그중 하나를 선택해서 들어가 보면 하단에 Check stock 버튼이 눈에 들어오게 된다. 지점을 정하고 버튼을 누르면 사진에서와 같이 재고가 얼마나 남았는지 출력해 준다. 이때의 packet을 살펴보면 stockApi 내용이 포함된 post method의 요청이 만들어지는 걸 알 수 있다. Lab의 목표는 /admin page로 접근해 carlos 계정을 삭제하는 것이기 때문에 /localhost/admin page 경로로 내용을 변경해 보도록 하자! 이렇게 되면 원래 재고가 출력되는 부분에 /localhost/admin page..
Server Side Request Forgery : SSRF Server Side Request Forgery란? 서버 측 application이 의도하지 않은 곳으로 request를 보내도록 유도할 수 있는 취약점을 의미한다. 전형적으로 SSRF는 :) 조직 인프라 속에 있는 내부 전용 서비스에 연결하도록 :) 임의의 외부 시스템에 연결하도록 하여 민감한 데이터를 추출하거나 임의 명령을 실행하는 등의 후속 공격이 이루어질 수 있다. SSRF attacks against the server itself 내부 서버 자체에 SSRF 공격을 시도하는 경우, 공격자는 application을 호스팅 하고 있는 서버로 다시 HTTP request가 보내지도록 packet을 조작할 수 있다. 사용자가 아이템의 재고..
Lab - Remote code execution via polyglot web shell upload 이번 Lab에서는 업로드된 파일 내용을 검사한다고 한다. 그중에서도 file signature 값을 확인하여 업로드된 유형을 확인한다고 하는 데 ** file signature이란, 파일 header or footer 부분에 명시되는 값으로 파일 확장자가 무엇이냐에 따라 값이 다른 걸 확인할 수 있다. Lab에 들어가 webshell.php file을 업로드해봤더니 유효한 파일이 아니라는 문구와 함께 업로드 에러가 발생했다고 한다. 아무래도 php file 그 자체로 업로드하면 안 되는 거 같다. 이미지 파일으 업로드해야 승인되기 때문에 이미지 파일의 signature을 활용하여 파일을 만들면 어떻게 ..
Lab - Web shell upload via obfuscated file extension 이번 Lab에서는 파일 확장자와 관련된 파일 업로드 공격을 살펴볼 것이다. 이전에 살펴본 Lab은 :) 파일 업로드가 제한되는 장소(= directory)를 우회하는 directory traversal :) file type 제한을 우회하는 Content-type header 등을 활용해 공격했다면 이번 Lab에서는 파일 확장자에 대해 다뤄볼 예정! ** 파일 확장자란, 파일명 뒤에 명시되는 값으로 파일이 어떤 종류의 파일인지를 나타내주는 역할을 한다. 흔히 텍스트 파일은 txt, 사진은 png & jpg, 그밖에 html, css, js, php, c, exe 등 ".file_extension"과 같은 형태로..