IT/Wargame

[Web Hacking] file-download-1

kykyky 2024. 7. 9. 10:33

>> 소스 코드

 

upload 과정에서는 filename에 ".."가 들어가는지 점검한다.

 

그러나 download 과정에서는 filename에 ".."가 들어가는지 확인하지 않는다.

 

 

>> exploit

 

소스코드를 보면,

업로드되어있는 파일을 읽기 위해서는

/read에 "name" parameter를 전달해야 한다.

 

실제로 업로드&read 테스트를 해봐도,

http://host3.dreamhack.games:21074/read?name=mytitle

로 접속하게 됨을 확인할 수 있다.

 

즉, http://host3.dreamhack.games:21074/read?name=☆

로 접속함으로써, ☆ 파일을 읽는 것이다.

 

그러므로, 만약 공격자가 상위 디렉토리의 flag.py를 읽고 싶다면,

☆ 자리에 ../flag.py를 넣으면 된다.

 

'IT > Wargame' 카테고리의 다른 글

[Web hacking] bob12-idor-practice  (0) 2024.07.24
[System Hacking] out_of_bound  (0) 2024.07.10
[Web Hacking] image-storage  (0) 2024.07.08
[Web Hacking] command-injection-1  (2) 2024.07.08
[Web Hacking] Mango  (0) 2024.07.07