Command Injection

justugi·2024년 6월 14일
0

DVWA

목록 보기
3/16

주의사항 : 이 포스팅은 개인 학습 및 교육적 목적으로 작성되었으며, 제공하는 정보를 악용하여 불법적인 행위를 하는 것은 엄격히 금지되어 있습니다. 타인의 시스템에 대한 접근 권한을 얻기 위해 명시적인 동의를 받아야 하며, 이러한 기술을 사용하여 발생하는 모든 결과에 대한 책임은 사용자에게 있습니다.

0. 초기 화면

1-1. 서비스 실행 및 운영체제 파악

  • 192.168.35.29 제출 시 아래와 같은 결과(윈도우 CMD)를 한꺼번에 출력한 것으로 보이므로 해당 웹 서버는 윈도우이다.

1-2. 서비스 실행 및 운영체제 파악(2)

  • 명령어 차이를 활용하여 웹 서버의 운영체제를 파악할 수 있다. 디렉토리 내용을 나열하는 명령어는 윈도우에서 dir, 리눅스에서 ls 이므로 이 중 제대로 실행되는 명령어의 운영체제가 사용되고 있음을 알 수 있다.
구분윈도우리눅스
파일명대소문자 구분 X대소문자 구분 O
파일명 특수문자 제한<, >, :, ", /, \, |, ?, * 불가/ 불가
디렉토리 접근드라이브 문자(C:, D: 등)로 시작루트 디렉토리(/)에서 시작
디렉토리 구분 문자역슬래시(\)슬래시(/)

2. 명령어 인젝션

구분윈도우리눅스
&이전 명령어의 성공 여부와 상관없이 다음 명령어를 실행명령어를 백그라운드에서 실행
&&첫 번째 명령어가 성공적으로 실행된 경우에만 두 번째 명령어를 실행첫 번째 명령어가 성공적으로 실행된 경우에만 두 번째 명령어를 실행
;X여러 명령어를 명령 성공 여부와 관계없이 순차적으로 실행

→ 명령어 추가로 파일 열람/수정/삭제/생성 등을 이행할 수 있다.
→ "윈도우 : & echo 악성코드 > 악성파일, 리눅스 : ; echo '악성코드' > 악성파일" 과 같은 형태로 악성코드를 주입할 수 있다.


출처
https://www.askdifference.com/linux-file-system-vs-windows-file-system/

profile
IT 보안, 관심 있는 것을 공부합니다.

0개의 댓글