Search

WebHacking.kr Challenge old-48

목표 : FileName Injection(?)
파일 전송기능을 가지고 있고 같은 이미지가 올라와있다.
소스를 보면 모두 경로 내에 있는 6.jpg를 참조하고 있다.
php 파일을 올린다. 올라간다. 하지만 실행은 되지 않는다.
자바스크립트도 마찬가지다. 실행되지 않는다.
메모 부분에 각종 주석을 날려보기도 하고, 다른 injection XSS 명령어, Linux 명령어를 넣어봐도 변화가 없었다.
기능을 하나씩 실행해보다 delete를 실행하자 새로운 인자들을 발견했다.
Time 인자는 업로드 된 시간인 듯하여 해당 시간 인자 값을 조작해봤지만 다른 이들이 올린 파일은 삭제되지 않았다.
파일이 삭제될 때 대충 이런 메커니즘이지 않을까?
if(mode=="del"): DELFILE = SQL_QUERY(select filename from DB where time==1680161223) bash("rm DELFILE")
Python
복사
SQL 쿼리문이 돌아가고 있다고 가정하고 파일명을 다음과 같이 설정해보자.
음 안된다. 그 대신 Apache2로 Ubuntu에서 운용되고 있단 정보를 얻었다.
이번엔 rm 명령어가 넘어간다고 가정해보고 파일명을 다음과 같이 설정해보자
리눅스에서 명령어는 ;를 붙이면 연속으로 넘어간다. ( & && | || 도 가능하다)
얼떨결에 플래그를 구했다.

✓ 다른 [워게임] 포스트

WebHacking.kr Challenge Write-Up (70/80)
In progress
WebHacking.kr Challenge Write-Up (70/80)
In progress
Load more
︎ 더 많은 게시물을 보려면
︎ 작성자가 궁금하면?
 2023. absolroot all rights reserved.