일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Reconnaissance
- FTZ
- active recon
- Recon
- Server Side Request Forgery
- over the wire
- War Game
- access control
- Cryptography
- php To Do List
- php login page
- THM
- php
- php 파일 업로드하기
- Cookie
- privilege escalation
- php file upload
- 파일 업로드 취약점
- file upload
- tryhackme
- SQLi
- overthewire
- Authentication
- BANDiT
- php 로그인 페이지 만들기
- OS Command Injection
- sql injection
- Leviathan
- active reconnaissance
- ssrf
- Today
- Total
목록php (33)
R's Hacking Daily Log
[ Mini Project - last ] 지난 글에서는 index.php 코드를 살펴보았다. 이번 글에서는 기본적으로 include 되어 사용된 "dbconn.php"에 대해 살펴보고자 한다. mini project에서 사용할 DBMS는 mysql로 미리 생성해 둔 project DB에 연결하기 위해 필요한 코드가 작성된 파일이다. [ dbconn.php ]
[ Mini Project ] 이번에 해볼 것은 간단한 웹 페이지 만들기로 전체적인 흐름은 다음과 같다. 1) index.php 로그인 form이 있는 메인 페이지이다. index.php에 존재하는 옵션은 두 가지, 회원 가입 or 로그인이다. 2) 로그인을 시도한 경우 데이터베이스에 있는 정보와 비교해 계정 정보가 검증되면 member list를 확인할 수 있는 페이지로 이동한다. 또한 회원 정보를 수정할 수 있는 옵션과 로그아웃 기능이 제공된다. 2-1) 회원 정보를 수정할 경우 수정할 정보를 입력한 뒤 서버로 전달하면 데이터베이스에 해당 내용이 업데이트된다. 2-2) 로그아웃을 시도한 경우 로그아웃 버튼을 누르면 사용했던 세션 정보를 모두 파기하고 로그인을 종료한다. 3) 회원가입을 시도한 경우 사..
마지막으로 DOWNLOAD를 클릭했을 때, 파일을 다운로드하는 기능을 구현해 보자. [ file_download.php ]
업로드할 파일을 골랐으니 SUBMIT 버튼을 눌렀을 때 서버로 파일을 업로드할 기능을 구현해 보자. form tag - action 값이 다음 페이지 경로이기 때문에 이번에 작성할 코드의 이름은 file_upload.php가 된다. [ file_upload.php ] file size : byte
Step :: file upload 파일을 업로드 & 다운로드하는 과정은 크게 1. 업로드할 파일을 선택 2. 업로드 or 다운로드 버튼 클릭 3. 파일 업로드 or 다운로드 완료 의 흐름으로 진행된다. 따라서 이 과정을 처리할 코드 또한, 여러 개로 분할하여 구현할 필요가 있다. 그중에서도 우선 업로드할 파일을 선택할 수 있는 form을 만들어보자. 흔히 파일을 업로드하는 form은 (1)파일을 선택하는 버튼과 (2)전송 버튼으로 구성된다. [ file_upload_form.php ] File Upload Example SUBMIT 전체적인 구성을 보면 form tag 안에 input & button tag가 하나씩 들어있다. input tag의 유형이 file이기 때문에 파일을 선택할 수 있는 형태의..
Step :: input & Select & TextArea 현재 페이지에서 다른 페이지로 데이터를 전송할 때 html input tag를 활용하여 보낼 수 있음을 저번 글에서 확인해 보았다. input tag는 말 그대로 데이터를 입력할 수 있는 입력란을 만들어주는 요소인데 type이 무엇이냐에 따라 입력란의 모습도 달라진다. 첫 번째로 살펴볼 type은 hidden이다. Hidden Example name : 결과 페이지 코드를 보면 $_POST에 key가 fruit인 값이 존재하는지 확인한 후(isset 함수) fruit 배열에 들어있는 아이템을 하나씩 출력하는 과정이 php로 작성되어 있다. 결과를 보면 checkbox.php에서 선택한 값들이 모두 전달되어 결과 페이지에 나열되고 있음을 알 수 ..
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에 접속해 링크가 걸린 문구를 클릭하면 결과적으로 쿠키 값을 볼 수 있게 되는 ..