old-48 풀이

2024. 2. 12. 13:32webhacking.kr

728x90

메인 페이지

파일을 올릴 수 있는 폼이 있습니다

일단 아무 파일이나 하나 올려보겠습니다

 

파일 업로드 완료

upload file을 누르면 올린 파일의 내용이 보입니다

 

upload file을 누른 후의 URL

제가 올린 파일은 test.txt입니다

./upload/ 경로에 들어가 있네요

그럼 이번에는 올린 파일을 삭제해 보겠습니다

 

Delete 후 URL

mode, time이 URL에 붙어 나오며, 파일은 정상적으로 삭제됩니다

upload 기능이 있으니, php 웹쉘도 하나 만들어서 올려보겠습니다

 

webshell.php

위와 같이 파일을 만들어서 업로드해봤지만, php 코드가 실행되지 않았습니다

혹시 SQL Injection이나 XSS일까 싶어, 기본 구문들을 다 넣어봤지만.... 전부 꽝이었습니다

 

Delete 후 URL

파일을 삭제할 때 봤던 URL에서 mode와 time이 있었는데, 이게 힌트인가 싶어 이것저것 게싱으로 막 넣어봤습니다

(time 숫자도 바꿔보고, mode는 del, rm, upload, uld, admin 등등...)

 

접근법이 이게 아닌가 싶어서 한참 고민을 해봤는데, 파일이 지워질 때 system() 함수가 사용되지 않을까 싶었습니다

system() 함수로 파일을 지우려면 system("rm [파일명]");의 형식으로 실행이 될 것입니다

그러면 여기다가 ;ls -al을 파일명으로 넣어서 Command Injection을 해보면 될 것 같았습니다

 

;ls -al 업로드
FLAG 획득 완료

파일을 업로드한 후, Delete 버튼을 눌러서 파일을 지웠더니 명령어가 실행됐습니다

이런 문제는 거의 반 게싱으로 풀어야 하나 봅니다....

 

문제 풀이 성공

728x90

'webhacking.kr' 카테고리의 다른 글

old-34 풀이  (0) 2024.02.15
old-59 풀이  (0) 2024.02.15
old-02 풀이  (0) 2024.02.11
old-49 풀이  (0) 2024.02.10
old-21 풀이  (0) 2024.02.09