문장을 보면 index.php파일을 vi편집기로 편집하다가 전원이 나가버려 파일이 사라졌다는 얘기이다. vi편집 중에 예기치 않게 종료해버린 경우 생성되는 파일이 있는데 바로 swap 파일이다. swap 파일이 생성되었다면 .원본파일명.swp 형식으로 생성된다. 그래서 .index.php.swp을 url에 쳐주면 index.php의 swap 파일을 획득 할 수 있다. 파일을 열어보면 flag를 획득 할 수 있다. ??> $flag = "FLAG{what_about_the_nano_editor?}";
분류 전체보기
① .text 실행 가능한 코드가 저장된 영역 읽기, 실행 main()등의 함수 코드 ② .data 초기화된 전역 변수가 위치하는 영역 읽기, 쓰기 전역 변수 (초기화 되지 않은 전역변수는 bss) ③ .rdata 전역 상수나 임호트 데이터가 위치하는 영역 읽기 전역 상수, 상수 문자열 ex. const str = "hello" (str전역변수는 .data, hello문자열은 .rdata) ④ 스택 일시적으로 저장하고 사용하는 임시 영억 읽기, 쓰기 지역 변수, 함수 인자 ⑤ 힙 자유롭게 사용 가능한 영역 읽기, 쓰기 malloc()등 동적 할당 메모리
이 문제를 풀기 위해 알아야 할 점은 다음과 같다. - redis는 명령어를 이용해 메모리 데이터를 저장하는 파일의 저장 주기를 지정 가능하다. - 저장되는 파일의 경로와 이름, 그리고 데이터도 함꼐 설정 가능하다. - eval 명령어를 통해 lua 스크립트를 실행 시킬 수 있다. 먼저 데이터 저장이 되는 파일을 알기 위해 config.php에서 dir을 get해보면 {"dir":"\/var\/www\/html"} 임을 알 수 있다. html 경로에 있으니 냅두고 dbfilename을 redis.php로 set해준다. 그 후 데이터 저장 주기도 설정해줘야 하는데 계속 저장되는게 좋으니 save 60 0 으로 set해준다. (60초 이내에 0개 이상 데이터가 변경되면 저장한다.) 그 후 redis.php에..
처음 접속하면 hello.php로 접속되는 것을 볼 수 있다. 일단 flag를 찾아야 하니 flag.php로 접속해보면 별반 중요한 내용이 들어있지는 않다. 유추해 볼 수 있는점은 .php가 자동으로 붙는다는 점이고 flag.php의 내용을 파악해야 한다는 점이다. 버프스위트도 돌려보고 혼자 해보다 안돼서 찾아보니 php wrapper를 사용해야 한다고 한다. https://www.php.net/manual/en/wrappers.php PHP: Supported Protocols and Wrappers - Manual Even though their names will be the same, you can have more than one //memory or //temp stream open concu..
이 글은 화이트 해커를 위한 웹 해킹의 기술_최봉환 책의 내용을 바탕으로 작성하였습니다. 칼리 리눅스에는 여러가지 해킹 툴이 마련되어있는데 책에서 배운 내용을 바탕으로 가상 웹을 해킹해보려 한다. 가상 웹은 https://pentesterlab.com/exercies/from_sqli_to_shell 에서 다운 받은 파일로 실습했다. 먼저 웹 해킹의 첫번째 단계는 정보 획득이다. nikto명령어를 통해 웹사이트의 정보를 가져왔다. 여러 디렉토리 및 버전 등의 정보들이 나타난다. 그리고 웹 사이트 곳곳을 확인하기 위해 버프 스위트의 target기능을 활용해줬다. 웹 사이트의 여러 페이지를 볼 수 있는데 이 중 /cat.php?id=1인 곳을 먼저 확인해줬다. 1. sql injection & XSS sql..