일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- FTZ
- OS Command Injection
- over the wire
- sql injection
- BANDiT
- privilege escalation
- 파일 업로드 취약점
- php login page
- php To Do List
- active reconnaissance
- php
- ssrf
- overthewire
- tryhackme
- THM
- Leviathan
- php 파일 업로드하기
- Cookie
- Recon
- access control
- php file upload
- War Game
- SQLi
- Server Side Request Forgery
- active recon
- Authentication
- Cryptography
- Reconnaissance
- php 로그인 페이지 만들기
- file upload
- Today
- Total
목록전체 글 (242)
R's Hacking Daily Log
Step :: POST & GET 웹 사이트를 이용하다 보면 로그인, 회원 가입, 댓글 등 Form을 입력하고 전송 버튼을 누르는 경우를 흔하게 마주할 수 있다. 전송 버튼을 누른 다는 건 다른 말로, 현재 페이지의 데이터를 다음 페이지로 전달한다고 할 수 있다. 데이터를 전달할 때 사용되는 http method는 POST OR GET method이며 전달할 데이터를 입력하는 형태는 html elemnt를 통해 선택할 수 있다. POST or GET method를 통해 전달되는 데이터를 php에서는 글로벌 변수 $_POST & $_GET을 통해 저장한다. $_SESSION, $_COOKIE와 같이 key - value 형태로 데이터를 저장하고 참조할 수 있다. POST & GET 방식을 이용한 사례를 살..
Step :: Cookie Session에 연이어 Cookie에 대해 살펴보도록 하자. 여기서도 역시 개념적인 내용은 생략할 예정! Cookie를 사용하기 위해 Cookie 생성은 어떻게 할 수 있는 지부터 알아보자. Cookie Example ~쿠키 만들기~ 쿠기 값은 여기에서 확인!! setcookie 함수를 통해 쿠키를 생성해 준다. 생성한 쿠키 값을 확인하기 위해 링크가 걸린 "여기에서 확인" 문구를 클릭해 준다. [result_cookie.php] Cookie Example 쿠키 값은 링크가 걸려 result_cookie.php는 $_COOKIE를 참조해 쿠키 값을 알려주는 페이지이다. create_cookie.php에 접속해 링크가 걸린 문구를 클릭하면 결과적으로 쿠키 값을 볼 수 있게 되는 ..
open port : 80 & 3389 Target : anthem.com author : JD@anthem.com admin : SG@anthem.com(?) 지금까지의 내용을 간단히 정리해 보면 대상 서버는 80 & 3389 포트를 열어놓은 상태로 80 port에 접근해 본 결과, author 권한의 JD와 admin으로 추정되는 SG가 존재한다. /umbraco directory에 접근해 보면 웬 로그인 페이지가 나타나는 데 robots.txt에서 발견한 비밀번호(?)로 과연 로그인에 성공할 수 있을지!! Username : SG@anthem.com Password : UmbracoIsTheBest! 로그인을 시도해 본 결과, SG 계정에 접속한 걸 볼 수 있다!! Users 탭을 확인해 보면 SG..
Target IP : 10.10.44.14 Target machine : tryhackme - anthem 이번에 살펴볼 target은 Tryhackme의 anthem!! 어떤 포트가 열려있는지 확인하기 위해 nmap을 실행해 보면 실행 결과로 80 & 3389 포트가 열려있음을 확인할 수 있다. 여기서 80 port는 웹 포트이기 때문에 브라우저로 접속을 해보면 이런 메인 페이지를 볼 수 있다. 우선 마우스 우클릭으로 source code를 확인해 보면 flag 하나를 손쉽게 얻을 수 있다. 정보 수집을 위해 페이지 이곳저곳을 탐색해 보자!! 메인 페이지에 있는 두 개의 포스트 중 먼저 "we are hiring" 글을 읽어보면 작성자가 Jane Doe인데 이메일이 JD@anthem.com이라고 한다...
Step :: Session Session에 대한 개념적인 내용은 여기서 다루지 않을 것이다. php 상에서 Session & Cookie를 어떻게 생성하고 값을 할당할 수 있는지에 대해서만 간단히 살펴보자. Session Example ~세션 만들기~ 세션 값은 여기서 확인!; 세션 mySession에 "Ryu"라는 값을 할당하는 php 코드를 작성했다. 여기서 생성한 mySession 값을 확인하기 위해서는 result_session.php로 이동한다. [result_session.php] Session Example 세션 값은 : 다른 php file에서 세션을 만들었지만 글로벌 변수이기 때문에 코드 상단에 session_start 함수만 기재를 한다면 세션을 사용하는 데에는 지장이 없다는 걸 확인..
Step 1 :: Exception Class 코딩을 하다 보면 문법 상의 오류나 논리적인 오류로 인해 오류가 발생한 적이 있을 것이다. 문법적인 오류는 비교적 쉽게 발견할 수 있지만 논리적인 오류는 고려하지 못한 경우의 수에 의해 발생할 때가 많아 골치 아플 수있다. 이번에 다루어볼 예외 처리란 예상하지 못한 동작으로 인해 발생할 수 있는 오류를 처리하는 걸 의미한다. 프로그램을 만드는 입장에서 고려한 부분이 아닌, 예외적인 경우를 어떻게 처리하면 좋을지에 대한 방안을 알아보자. 처음으로 알아볼 예외 처리 방법은 Exception class이다. 이름대로 Exception은 클래스이기 때문에 객체 생성이 가능하다. Exception class는 기본적으로 내장하는 메서드가 있기 때문에 오류 메시지 & ..
Step :: final 앞에서 살펴보았을 때, 클래스를 상속받기 위해서는 extends keyword를 사용했다! final keyword는 이와 반대되는 개념으로 상속받지 못하게 제한할 때 사용하는 키워드이다. final keyword는 클래스 OR 메서드에만 사용할 수 있는 키워드로 클래스에 사용한 경우를 예시로 알아보자!
Step :: Trait Trait이라는 기능은 앞에서 배운 클래스와 인터페이스 그 사이 어딘가...! 추상 클래스인 듯 아닌 듯 한 애매한 기능이다. 다중 상속의 문제점을 줄이고 공통적으로 사용하는 메서드 & 멤버 변수를 재사용하기 위해 설계된 기능이다 보니 "클래스, 인터페이스와 뭐가 다르지?"라는 애매모호함을 느낄 것이다. 인터페이스와는 달리 함수의 내용을 정의 & 구현을 할 수 있지만 인터페이스처럼 함수를 정의만 해둘 수도 있다. 추상 클래스처럼 비추상 메서드 & 추상 메서드를 포함할 수도 있고 추상 메서드만 정의할 수도 있다. 말 그대로 이 기능 저 기능을 가져다가 입맛대로 쓸 수 있는 기능이라 보면 된다. 어떻게 활용할 수 있을 지 이해를 돕기 위해 코드를 살펴보도록 하자.