Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- typescript
- apolloclient
- 홍대 예술
- 잠실새내 도그존
- 비동기배열
- apollo react native
- 신촌 소문난집
- 화이트해커를 위한 웹 해킹의 기술
- 화이트 해커를 위한 웹 해킹의 기술
- 홍대 카페 장쌤
- promise처리
- 예쁜술집 예술
- 토라비
- graphql mutation error
- 도그존
- 운정 소바동
- 지보싶 신촌점
- 고르드
- 홍대 토라비
- graphql
- graphql 400
- 금별맥주
- graphql with reactnative
- 잠실새내
- 앙버터마카롱
- graphql react native
- promise메서드
- useMutation error
- 비동기배열처리방법
- graphql with RN
Archives
- Today
- Total
yehey's 공부 노트 \n ο(=•ω<=)ρ⌒☆
커맨드 인젝션 공격 / Command injection 본문
커맨드 인젝션 (command injection)
:명령어를 삽입한다
웹 요청 메시지에 임의의 시스템 명령어를 삽입하고 전송, 웹 서버에서 해당 명령어를 실행하도록 하는 공격
(웹을 통해서 시스템 명령어(command)를 실행하는 공격)
커맨드 인젝션 취약점
웹 애플리케이션 내부에서 시스템 명령어를 실행하는 상황에서
적절한 입력값 검사 없이 시스템 명령어의 일부분으로 전달할 때
-> 공격자가 이 값(입력값)을 조작하여 임의의 시스템 명령어를 실행할 수 있다.
커맨드 인젝션 예시
사용자가 IP주소를 입력했을 때 웹 서버에서 ping 명령어를 실행하고 결과를 반환하는 웹페이지가 있다.
ping: 입력된 IP주소의 시스템이 현재 동작중인지 확인하는 명령어
그리고 이 웹 페이지는 사용자가 입력한 값이 IP주소 형식에 적합한지 제대로 검사를 하지 않는다고 가정하자
그렇다면 공격자는 IP 주소 뒤에 다른 시스템 명령어를 추가하여 웹 서버에서 시스템 명령어를 사용할 수 있게 된다.
(원래 실행되어야 하는 ping + 공격자가 입력한 command가 같이 실행된다.)
만약 공격자가 cat /etc/passwd 라는 명령어를 ip주소 뒤에 추가하여 보내면,
웹 서버는 ping과 cat 명령어를 모두 실행한 결과를 공격자에게 전달하게 된다.
결과적으로 공격자는 cat 명령어를 추가적으로 입력함으로써 사용자 정보를 얻게 된다.
공격자가 입력값+원하는 명령어를 실행하기 위해서는 복수의 명령어를 실행하는 특수문자를 사용해야한다.
명령어 구분을 위한 특수문자 (리눅스 기준)
; | 앞 명령어 실행 후 뒤 명령어 실행 |
&& | 앞 명령어가 참일 때 뒤 명령어 실행 |
|| | 앞 명령어가 거짓일 때 뒤 명령어 실행 |
| | 앞 명령어의 결과를 뒤 명령어로 전달 |
'웹 > 웹 해킹' 카테고리의 다른 글
SQL injection 실습1 (WHERE 구문 우회) (0) | 2020.09.29 |
---|---|
Brute Force Attack + DVWA실습 (0) | 2020.09.27 |
CSRF (크로스 사이트 요청 변조) (0) | 2020.09.18 |
XSS (크로스 사이트 스크립팅) (0) | 2020.09.16 |
SQL injection (0) | 2020.09.11 |
Comments