반응형

LFI 10

[247CTF] FORGOTTEN FILE POINTER - 웹해킹 / PHP / LFI

247CTF 에서 제공하는 MODERATE 난이도의 WEB 문제 문제 페이지에 접속하면 이런 화면이 나온다. PHP 코드가 보여지는데 내용을 보면 /tmp/flag.txt 파일에 플래그가 있다는것을 알 수 있다. GET 메소드로 include 파라미터가 있어야하고, include 인자의 길이가 10 이하여야 include 함수로 서버 내부 파일을 읽어올 수 있는듯 하다. 10글자 길이제한이 없다면 단순히 URL 에 ?include=/tmp/flag.txt 를 추가하면 되겠지만 10글자 제한 때문에 안된다. https://bugs.php.net/bug.php?id=53465 PHP :: Bug #53465 :: Cannot open file descriptor streams bugs.php.net 조금 찾..

워게임/247CTF 2023.10.16

[2021CCE] basic web - 웹해킹 / LFI

2021년 사이버공격방어대회(CCE)에 출제되었던 웹해킹 문제 생각보다 간단한 문제들이 많이 나왔었다. 이번 문제 역시도 문제 설명에 나와있는것 처럼 웹 사이트에서 자주 발생하는 기본적인 취약점을 다루고 있다. 플래그는 /flag 위치에 있다고 한다. 문제 소스코드는 별도로 주어지지 않고 문제 페이지 주소만 주어진다. 문제 페이지에 들어가면 이런 화면이 나온다. CCE 엔터테이먼트에서 CTS 가 데뷔했다고 한다.. F12를 눌러 개발자 도구에서 해당 페이지의 HTML 을 살펴보았다. 페이지 중간쯤에 2021냔 5월 CTS 의 스케줄표를 다운받을 수 있는 링크가 있는데 URI가 download.php?file= 형태로 구성되어 있었다. 쉬운 난이도의 문제라고 했기 때문에 전형적인 LFI 취약점 일것이라 생..

CTF/웹해킹 2023.08.11

[HackTheBox] FreeLancer - 웹해킹 / SQL Injection / LFI / dirb

HackTheBox 에서 제공하는 웹해킹 문제 MEDIUM 난이도이지만 꽤 어렵다고 느꼈다. 문제페이지에 접속하면 이런 화면이 나온다. 어떤 프리랜서가 본인의 포트폴리오를 올려놓은 이력서 웹사이트이다. F12를 눌러 개발자 도구를 통해 HTML 을 살펴봤다. 주석으로 숨겨진 경로가 하나 보이는데 portfolio.php?id=2 이런식으로 되어 있는것을 보고 id 파라미터를 통해 뭔가 할 수 있을거라고 생각했다. 해당 URL 로 접근해서 id 파라미터를 변경시켜 봤다. ?id=1 이라고 하면 아래쪽에 Log Cabin 뒤에오는 숫자가 1로 바뀐다. 2, 3 으로 바꾸면 마찬가지로 Log Cabin 2, 3 이런식으로 바뀐다. id=1 or true 라고 입력했더니 SQL Injection 이 성공한 듯 ..

[Root Me] P0wn3d - 웹해킹 / LFI

LFI 와 관련된 웹해킹 문제 쉽게 생각했는데 생각보다 오래걸렸다. 문제는 소스코드와 함께 접속할 수 있는 환경이 주어진다. 문제페이지에 들어가면 이런 허름한 사이트가 나온다. 아래쪽에 Powered by CMSimple 라고 적혀있는게 보이는데 검색해보니 CMSimple 가 php 로 만들어진 콘텐츠 관리 시스템이라고 한다. 대놓고 적어놓은걸 보니 저기에 취약점이 있을거라고 생각했다. https://www.exploit-db.com/exploits/5700 CMSimple 3.1 - Local File Inclusion / Arbitrary File Upload CMSimple 3.1 - Local File Inclusion / Arbitrary File Upload EDB-ID: 5700 CVE: 2..

워게임/Root Me 2023.07.08

[HackingCampCTF] World Wide Web - 웹해킹 / LFI

웹해킹 문제 문제 푸는동안 캡쳐을 제대로 하지 못했다. phpmyadmin 의 취약점과 관련된 문제이다. 첫 부분을 캡쳐를 못했는데 문제페이지에 접속해보면 어떤 사진 하나가 덩그러니 있다. F12를 눌러 개발자 도구를 살펴보면 이미지의 alt 값이 /phpMyAdmin 으로 되어있는데 이걸 통해서 /phpMyAdmin 이라는 경로가 있다는 것을 알아냈다. 주소창에 /phpMyAdmin 을 입력해서 들어가보면 로그인 창이 하나 나오는데 역시나 F12 를 눌러 개발자도구를 확인해보면 id 가 wwwweb, pw 가 wwwweb!@# 인것을 확인할 수 있었다. 아이디, 비밀번호를 입력하면 이렇게 정상적으로 로그인이 된다. phpMyAdmin 의 버전을 확인해보니 4.8.1 이었는데, 해당 버전은 LFI 할 수..

CTF/웹해킹 2023.04.28

[Root Me] Local File Inclusion - Double encoding - 웹해킹 / LFI / PHP wrapper

두번째 Local File Inclusion 문제 (첫번째 : https://hackingstudypad.tistory.com/243) 조금 더 발전된 LFI 형태이다. 문제페이지에 접속하면 이런 화면이 뜬다. 웹페이지 기능을 알아보기 위해 메뉴들을 눌러봤는데 CV 메뉴를 들어가면 URL이 ?page=cv 로 바뀌고, Contact 메뉴를 들어가면 URL이 ?page=contact 로 바뀌는 것을 볼 수 있다. 이런식으로 웹 페이지를 구현할 경우, PHP 환경에서 include() 함수를 사용하는데, 적절한 필터링이 없다면 LFI(Local File Inclusion) 취약점이 발생하게 된다. LFI는 말 그대로 서버 내에 있는 파일을 불러와 읽을 수 있는 취약점이다. 단순히 웹 페이지의 소스코드 뿐만 ..

워게임/Root Me 2022.08.29

[Root Me] Local File Inclusion - 웹해킹 / LFI

30점짜리 웹해킹 문제 문제 제목에서 알 수 있는것처럼 LFI (Local File Inclusion) 과 관련된 문제이다. 문제의 목표는 admin section 에 접속하는 것이다. 문제 페이지에 접속했을 때 화면이다 File viewer 라는 제목의 웹페이지로 이름 그대로 서버 내에 있는 파일을 보여주는 기능이 있다. 각각의 메뉴를 눌러보면 중요한 특징이 하나 보이는데 sysadm 메뉴를 클릭할 경우 URL 이 ?files=sysadm 으로 바뀌고, reseau 메뉴를 클릭할 경우 URL 이 ?files=reseau 로 바뀐다는 것이다. 나머지 메뉴들도 모두 똑같이 동작한다. 여기서 파일 이름은 index.html 를 클릭하면 index.html 의 내용을 볼 수 있다. 웹페이지의 오른쪽 끝에 보면..

워게임/Root Me 2022.08.25

[Root Me] PHP - Filters - 웹해킹 / LFI / PHP wrapper

PHP Filters 와 관련된 웹해킹 문제 이전에도 실제 대회에서 비슷한 문제를 다뤄본 적이 있다. (https://hackingstudypad.tistory.com/143) 문제의 목표는 admin의 비밀번호를 알아내는 것이다. 문제 페이지에 처음 접속하면 이런 화면이 나온다. 페이지 기능을 살펴보기 위해 일단 눈에 보이는 버튼을 눌러봤다. home 버튼을 눌렀더니 URL에서 inc 변수로 accueil.php 페이지를 불러오는걸 볼 수 있었다. 두번째로 login 버튼을 눌러봤더니 이번에도 URL에서 inc 변수로 login.php 페이지를 불러오고 있었다. inc 변수가 핵심인거 같아서 이번엔 inc 변수에 임의로 hello 라고 적어보았다. 그랬더니 에러가 나는데, 에러 내용을 살펴보면 서버에서..

워게임/Root Me 2022.07.18

[HSCTF9] gallery - 웹해킹 / LFI

쉬운 난이도의 웹해킹 문제였다. 문제 페이지 주소와 함께 문제 소스파일도 같이 주어지는데 약간의 센스만 있다면 사실 소스 안보고도 충분히 풀 수 있는 문제이다. 문제페이지에 들어가면 나오는 화면이다. 문제 제목인 Gallery에 맞게 각종 사진들을 볼 수 있다. f12를 눌러 개발자도구로 메인페이지 HTML 코드를 살펴보았다. 각종 이미지들을 서버에서 가져올때 URL에 /image 경로에서 ?image= 변수에 이미지 파일 이름을 지정해서 가져오는 방식인 것을 확인했다. (URL에서 ? 뒤에 오는것은 변수라고 보면 된다.) 만약 URL에 ?image= 을 입력하는것이 아니라 서버에 있는 다른 파일이름을 입력한다면? 만약 적절하게 필터링이 되어있지 않을 경우 서버에 존재하는 아무 파일이나 가져와서 읽을 수..

CTF/웹해킹 2022.07.07

[EZCTF] I made a blog! - 웹해킹 / LFI / PHP wrapper

LFI 취약점을 이용한 웹해킹 문제였다. 문제 소스는 별도로 주어지지 않고 문제페이지 주소만 주어진다. 문제 페이지에 접속해보면 이런 블로그가 나온다. 취약점이 발생하는 부분은 Blog 페이지이다. Blog 페이지에 가보면 위에 보이는거 처럼 게시글이 3개 저장되어 있다. 첫번째 게시글을 클릭한 뒤에 URL을 확인해 본다. ez.ctf.cafe:9999/blog-posts.php?file=blog1.html 이렇게 적혀있는데 URL에서 ? 뒤에오는 부분은 변수 라고 생각하면 된다. blog-posts.php 페이지에서는 file이라는 변수를 선언하고, 그 변수에 blog1.html 페이지를 담아서(불러와서) 사용자에게 보여주는 것이다. 이런식으로 웹 페이지를 구현할 경우, PHP 환경에서 include(..

CTF/웹해킹 2022.05.17
반응형