Chapter 08. Command 인젝션 공격



!warning!

본 게시글은 본인의 학습기록을 위해 작성된 알려진 학습 기법

함부로 악의적으로 이용은 엄연히 불법 임으로

절대 시도하지 말 것이며

사고 발생 시 본인은 절대로 책임지지 않습니다!

Chapter 08. Command 인젝션 공격


커맨드 인젝션 공격 개요


-웹 요청 메시지에 임의의 시스템 명령어를 삽입하고 전송하여
웹 서버에서 해당 명령어를 실행하는 것입니다.

1
ping x.x.x.x; cat /etc/passwd
cs

-세미클론을 이용한 추가 명령을 실행, etc/passwd파일은 리눅스 사용자 목록이
들어있는 파일을 알아내기 위한 실습 및 복습입니다.

커맨드 인젝션 공격 실습

-웹 요청 메시지에 임의의 시스템 명령어를 삽입하고 전송하여
웹 서버에서 해당

스샷. 1

– 2의 경우 시스템 명령어를 내리는 함수입니다, target 변수는 1의 ip이지요
(‘-c’ 옵션은 핑 몇 번 때 릴지 성정하는 것)

스샷. 2

– ping -c 4 127.0.0.1; ls를 실행하면 디렉토리 내용이 출력됩니다.

스샷. 3

– ping 명령어 결과가 표시되는 게 아니라 디렉토리가 출력됨니다.

1
; cat /etc/passwd
cs

스샷. 4

– 리눅스를 대상으로 파라미터에 ; 등의 특수문자와 함께 시스템 명령어를 입력하여 커맨드

인젝션을 시도하고 윈도의 경우 &&를 사용합니다.

커맨드 인젝션 공격 대응

-소스 코스에서 exec()나 system()과 같은
직접적으로 명령어를 실행하는 함수 지양하시고
→ 라이브러리를 사용합시다.

1
< system(“mkdir $dir_name”)이 아닌 mkdir($dir_name) >
cs

==========================================

이어서 올려봅니다, =^∇^*=

이번 챕터는 비교적 간단한(?)

부분이었습니다(ōx ō)?
~~부분이었습니다(ōx ō)?~~

다음날에는 챕터 9 이여서 올리겠습니다

이글을 읽어주신 분들께 정말 감사합니다 (✿╹◡╹)

좋은 하루 되시고, 하시는 일 잘되시고

코로나 조심하시길 바랍니다.