Webhacking.kr 48번 문제풀이

동스토리 ㅣ 2021. 3. 17. 22:20

반응형

안녕하세요.

 

웹 해킹 48번 문제풀이 하겠습니다.

 

문제를 확인해보면, 업로드 취약점이 있을 거라고 예상이 됩니다.

 

test.txt 파일을 생성 후 test를 Send 해보겠습니다.

[Upload file]을 누르면 test.txt에 적힌 내용을 볼 수 있고,

 

[Delete]를 누르면 file deleted. 출력 후 파일이 삭제되는 것을 볼 수 있습니다.

 

이 문제에 대한 접근은 파일 업로드 취약점으로 접근하는 것이 아닌 거 같습니다.

 

그러한 이유는 php 파일을 업로드해도 파일 안에 내용이 텍스트로 출력하는 것을 확인할 수 있습니다.

 

그렇다면, 해당 문제에 대한 접근을 파일을 Delete 할 경우 파일이 삭제되는 것에 대해서 접근해보겠습니다.

 

리눅스 OS를 사용하는 경우 세미콜론(;)을 사용해서 명령어를 연속해서 실행할 수 있는데 이 문제에서는

 

파일 삭제 명령어(rm)를 사용 후 디렉터리 출력 명령어(ls)를 동시에 실행해 보겠습니다.

 

Burpsuite를 사용하여 파일명 뒤에 ;ls -al를 보내준 후 delete를 누르면 문제가 해결되는 것을 볼 수 있습니다.

 

이러한 공격 기법을 OS 커맨드 인젝션(OS Command Injection)이라고 하는데, 이는 취약한 변수로 시스템 명령어를 주입하여 서버 운영체제에 접근하는 공격입니다.

 

대응 방안으로는, escapeshellcmd 함수를 통해 명령어 입력 공격을 방지하기 위해 #,&.;,|,*,? 등 특수문자 앞에 백 슬러시를 추가해주는 방법이 있습니다.

 

 

감사합니다.

반응형

'Hacking > Webhacking.kr' 카테고리의 다른 글

Webhacking.kr 50번 문제풀이  (0) 2021.07.24
Webhacking.kr 49번 문제풀이  (0) 2021.07.23
Webhacking.kr 47번 문제풀이  (0) 2021.02.23
Webhacking.kr 46번 문제풀이  (0) 2021.02.19
Webhacking.kr 45번 문제풀이  (0) 2021.02.17