
Lab: Web shell upload via extension blacklist bypass 문제 풀이
이번 문제는 Blacklist에 관한 문제이다. Blacklist란 특정 단어만을 필터링하여 입력되지 못하게 하는 것이다. 지금까지는
php파일을 서버에 올려서 올린 파일의 위치를 찾아 실행만 시키면 php가 작동되었다. 이번에는 Blacklist 필터링을 했기 때문에 아마 안올라갈 가능성이 높다.
실제로 아래 php 를 올려보니 확장자명이 필터링되어 승인이 거절되는 것을 볼 수 있었다.

이제 업로드 요청을 burp suit Repeater 보내 확장자명을 우회해 보자 우선 첫번째로 생각해 보면 File upload 문제 3 에서 설명한 것과 같이 php 말고 다양한 확장자명이 존재한다. 이 중 선택적으로 승인하여 받아들이는 것이 가능하기 때문에 여러 확장자 명을 대입해 어떠한 확장자가 승인되는지 확인해봐야한다.
우선 아래 사진에 나온 php 확장자를 대입해 보겠다.

그 결과 아래 처럼 php를 제외한 거의 모든 확장자가 올라가는 것을 보았다. 이 페이지의 경우 php만 필터링하는 것으로 예상된다.
이 문제의 경우 우회가 너무 쉬웠다.

오늘은 한문제 더 풀어보도록 하겠다.

Lab: Web shell upload via obfuscated file extension 문제풀이
이번 파일의 경우 php를 다이렉트로 파일 업로드를 했지만 아래와 같이 JPG, PNG 파일만 업로드가 가능하다고 되었다. 이 문제도 위와같이 우회를 우선 해보겠다.

모든 우회가 실패하였다. 이번 문제의 경우 png와 jpg의 이름만을 화이트 리스트로 허용하는 것으로 예상된다. 이를 뚫기 위해 파일명을 png를 붙여주돼 서버에 올라갈때는 php라는 파일로 올라가도록 이름을 변경해 보았다.
exploit.php%00.png 여기서 %00는 종단 문자로 뒤에 문자는 무시한다는 의미이다. 이 파일을 서버에 올리면 아래와 같이 성공적으로 올라가는 것을 알 수 있었다.
업로드한 파일 내용에는 php문구가 포함되어 있기 때문에 실행하면 flag가 나오게 된다.

'Coding > Wargame' 카테고리의 다른 글
| [LOS] SQL Injection 풀이 (orc) (0) | 2022.06.06 |
|---|---|
| [LOS] SQL Injection 풀이(gremlin, cobolt, goblin) (0) | 2022.06.05 |
| [ Burp suit] File upload 문제3 풀이 (0) | 2022.05.31 |
| [ Burp suit] File upload 문제2 풀이 (0) | 2022.05.30 |
| [ Burp suit] File upload 문제 풀이 (0) | 2022.05.29 |