일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- active recon
- OS Command Injection
- php 파일 업로드하기
- active reconnaissance
- over the wire
- php login page
- Leviathan
- Server Side Request Forgery
- access control
- Recon
- php file upload
- Cookie
- overthewire
- BANDiT
- Reconnaissance
- SQLi
- Authentication
- file upload
- War Game
- tryhackme
- php To Do List
- THM
- ssrf
- FTZ
- Cryptography
- 파일 업로드 취약점
- privilege escalation
- php 로그인 페이지 만들기
- php
- sql injection
- Today
- Total
목록Port Swigger (50)
R's Hacking Daily Log
other authentication mechanisms 취약점과 관련해 살펴본 첫 번째 lab에서는 :) stay-logged-in cookie가 사용자의 계정명과 비밀번호를 기반으로 생성 :) 유효한 계정 carlos가 있다는 걸 알고 있는 상황 :) 후보 비밀번호 list까지 갖고 있는 공격자! 공격자가 자신의 계정을 갖고 있는 상황이었기 때문에 쉽게 cookie를 얻을 수 있었고 cookie를 분석해서 stay-logged-in cookie가 1) 비밀번호를 MD5 hash 2) hash 처리한 비밀번호 앞에 " 계정명 : " 3) 2번 과정으로 만들어진 문자열 전체를 Base64 encode 와 같은 과정으로 만들어지는 걸 파악했다. 공격자는 이미 존재하는 carlos라는 계정의 cookie 값..
대부분의 웹 사이트에서는 기본적인 로그인 기능에 더불어 사용자가 비밀번호를 잊어버렸을 때 사용할 수 있는 비밀번호 찾기 or 비밀전호 재설정과 같은 추가 기능을 제공한다. 웹 사이트는 일반적으로 로그인 페이지와 관련되어 잘 알려진 취약성을 방지하기 위해 노력을 기울이다 보니 추가적인 기능들과 관련된 취약점에 대해서는 간과하는 경우가 있다. 결과적으로 부가 기능의 허점을 이용하여 공격이 이루어질 수도 있고, 공격자가 자신의 계정을 만들 수 있는 경우에는 더더욱 많은 정보를 제공하게 되는 셈이다. ** "자신의 계정을 얻는다"는 건 허가된 사용자에게만 제공되는 페이지, 콘텐츠들이 노출되는 것이기 때문에 추가적인 공격 측면이 제공될 수 있다. 무조건 위험하다라기 보다 위험 가능성을 제공하게 된다는 것이다. K..
Lab - 2FA broken logic ) Lab으로 들어가 로그인 정보를 입력하면 4글자 인증 코드를 입력하는 페이지가 출력된다. 메일로 전송된 코드를 입력하면 My account 페이지에서 로그인된 사용자 이름을 볼 수 있다. 이번 Lab의 목표는 carlos의 계정으로 로그인을 완료하는 것인데, 문제는 carlos의 비밀번호를 모른다. (?) 일단 위에서 본 페이지들을 정리해 보면 1) username & password를 입력하는 POST /login request 2) 1의 결과로 얻은 verify & session cookie를 포함하는 Get /login2 request 3) 2의 결과로 verify 된 사용자의 메일로는 코드가 전송되고, 코드를 입력하는 입력창 페이지가 출력된다. 4) 입..
Vulnerabilities in multi-factor authentication Multi factor authentication 내용을 간단히 상기시켜 보자면 1. Something you have 2. Something you know 3. Something you are 로 구분되는 두 개 이상의 factor를 이용하는 인증 절차를 multi factor authentication이라 했다. 여기서 기억해야 하는 것은 하나의 factor를 다른 방식으로 두 번 실행하는 건 multi factor가 아니라는 것이다. ** 로그인을 할 때 자신의 계정 정보를 인증한 다음 이메일로 전송된 인증 코드를 입력하는 경우가 있다. 대게 계정 정보를 검증한 후 인증 코드를 입력하는 절차를 진행하다 보니 익숙해..
Lab 4 ) 이번 lab에서는 web server 측에서 url decode를 실행한다고 한다. 일단 lab에 들어가서 아이템을 하나 눌러 packet을 잡아보면 (....// 사용한 경우) (../ 사용한 경우) Traversal sequence를 그냥 사용하는 경우에는 모두 "No such file" 결과가 나오는 걸 볼 수 있다. 그래서! sequence를 url encode 해서 packet을 보내봤더니 response 결과가 원하는 대로 나오지 않았다. (?!) 그래서 encode를 한 번 더 실행해서 packet을 보내봤다. ../ sequence를 두 번 인코딩해서 filename 값을 조작하니 /etc/passwd 내용이 response에 출력된 걸 볼 수 있다. Lab 5 ) 다섯 번째..
Lab 1 ) 첫 번째 lab은 단순히 Traversal sequence를 사용해 보는 느낌으로 web application이 어떻게 동작하는지, sequence를 사용한 결과가 어떻게 나오는 지 이해하기 가볍게 준비되어 있다. Lab에 들어가면 뜨는 메인 페이지로, 이 중에서 아이템 하나를 클릭하면 첫 번째로는 productid가 포함된 request가 나오고 그다음으로 뜨는 packet이 위에 보이는 image를 얻어오는 Get request이다. 위의 packet을 가로챈 상태로 forward를 시키지 않고 있으면 클릭한 아이템에 대한 글만 출력되고 이미지는 아직 나오지 않는 걸 볼 수 있다. Lab의 목표는 서버에 있는 /etc/passwd 파일 내용을 조회하는 것이기 때문에 Traversal s..
Common obstacles to exploiting file path traversal vulnerabilities 이번에는 Directory Traversal과 관련된 방어와 우회에 대해 알아보고자 한다! 사용자의 입력 값을 파일 경로로 사용하는 어플리케이션에서 Directory Traversal을 막기 위해 traversal 시퀀스가 유효하지 못하도록 만든다고 하는 데.. 다음과 같은 경우에 공격자의 입장에서는 어떻게 우회할 수 있을까?? CASE 1 ) 시퀀스, 제거하자! 공격자는 현재 directory에서 root directory로 이동하고 싶은데 서버가 시퀀스를 제거한다고 한다. 이때 [ ....// or ....\/ ]와 같이 시퀀스 하나를 다른 시퀀스가 감싸고 있는 형태로 입력하면 시퀀..
What is Directory Traversal Directory Traversal (or Path Traversal)은서버에 있는 파일을 읽기 위해 서버가 의도한 경로를 이탈하여 공격자가 읽고 싶은 임의의 파일에 접근 가능하게 만드는 취약점이다. :) 경로를 이탈한다!? 어떤 웹 페이지 하나를 띄워놓고 URL을 보면 path 내용이 /abc/def/..처럼 나오는 경우가 있다.이는 해당 페이지가 들어있는 경로를 나타내는 데 경로를 이탈한다고 표현한 것은 서버로부터 페이지를 받을 때 directory를 이동해서 제공자가 의도하지 않은 경로로 이동하려는 걸 표현하고자 한 것이다! Reading arbitrary files via directory traversal 쇼핑 어플리케이션에서 할인 중인 아이템을..