31번째 줄: | 31번째 줄: | ||
sh: error importing function definition for `X' | sh: error importing function definition for `X' | ||
</source> | </source> | ||
:→ date 명령어가 실행되고 | :→ date 명령어가 실행되고 echo 파일이 생성되었으므로 취약함 | ||
<source lang='text'> | <source lang='text'> | ||
[root@jmnote ~]# (for x in {1..200} ; do echo "for x$x in ; do :"; done; for x in {1..200} ; do echo done ; done) | bash || | [root@jmnote ~]# (for x in {1..200} ; do echo "for x$x in ; do :"; done; for x in {1..200} ; do echo done ; done) | bash || |
2014년 9월 30일 (화) 02:05 판
✔️ CentOS 5, bash 3.2에서 테스트하였습니다.
1 개요
- shellshock
- [CVE-2014-6271] GNU Bash 원격코드 인젝션 취약점 확인 및 조치
- 2014년 9월 Bourne Again Shell(Bash) 취약점 보안 업데이트
- 쉘쇼크, 쉘쇼크 조치방법
2 확인방법
Bash
Copy
env x='() { :;}; echo vulnerable' bash -c "echo this is a test"
Bash
Copy
rm -f echo; env X='() { (a)=>\' sh -c "echo date"; cat echo
Bash
Copy
(for x in {1..200} ; do echo "for x$x in ; do :"; done; for x in {1..200} ; do echo done ; done) | bash ||
echo "CVE-2014-7187 vulnerable, word_lineno"
3 확인 1 (취약)
text
Copy
[root@jmnote ~]# env x='() { :;}; echo vulnerable' bash -c "echo this is a test"
vulnerable
this is a test
- →
echo vulnerable
이 수행되었으므로 취약함
text
Copy
[root@jmnote ~]# rm -f echo; env X='() { (a)=>\' sh -c "echo date"; cat echo
sh: X: line 1: syntax error near unexpected token `='
sh: X: line 1: `'
sh: error importing function definition for `X'
- → date 명령어가 실행되고 echo 파일이 생성되었으므로 취약함
text
Copy
[root@jmnote ~]# (for x in {1..200} ; do echo "for x$x in ; do :"; done; for x in {1..200} ; do echo done ; done) | bash ||
> echo "CVE-2014-7187 vulnerable, word_lineno"
bash: line 129: syntax error near `x129'
bash: line 129: `for x129 in ; do :'
CVE-2014-7187 vulnerable, word_lineno
- → echo ... 명령어가 수행되었으므로 취약함
4 Bash 버전 확인

bat
Copy
[root@jmnote tmp]# rpm -qa | grep bash
bash-3.2-32.el5
5 Bash 업데이트
bat
Copy
[root@jmnote ~]# yum update bash
... (생략)
===========================================================================================
Package Arch Version Repository Size
===========================================================================================
Updating:
bash x86_64 3.2-33.el5_10.4 updates 1.8 M
Transaction Summary
===========================================================================================
Install 0 Package(s)
Upgrade 1 Package(s)
Total download size: 1.8 M
Is this ok [y/N]: y
bat
Copy
... (생략)
Updated:
bash.x86_64 0:3.2-33.el5_10.4
Complete!
6 확인 (안전)
text
Copy
[root@jmnote ~]# env x='() { :;}; echo vulnerable' bash -c "echo this is a test"
this is a test
text
Copy
[root@jmnote ~]# env X='() { (a)=>\' sh -c "echo date"; cat echo
date
cat: echo: No such file or directory
text
Copy
[root@jmnote ~]# (for x in {1..200} ; do echo "for x$x in ; do :"; done; for x in {1..200} ; do echo done ; done) | bash ||
> echo "CVE-2014-7187 vulnerable, word_lineno"
7 같이 보기
8 참고 자료
편집자 Jmnote Jmnote bot John Jeong
로그인하시면 댓글을 쓸 수 있습니다.
- 분류 댓글:
- Yum 설치 (13)
- Bash (3)
CentOS MySQL 설치 ― …CentOS phpMyAdmin 설치 (yum) ― Shinch25CentOS phpMyAdmin 설치 (yum) ― JmnoteCentOS phpMyAdmin 설치 (yum) ― Shinch25CentOS phpMyAdmin 설치 (yum) ― JmnoteCentOS phpMyAdmin 설치 (yum) ― Shinch25CentOS phpMyAdmin 설치 (yum) ― Tndyd5390CentOS phpMyAdmin 설치 (yum) ― JmnoteCentOS phpMyAdmin 설치 (yum) ― IjeffCentOS phpMyAdmin 설치 (yum) ― IjeffCentOS phpMyAdmin 설치 (yum) ― JmnoteCentOS phpMyAdmin 설치 (yum) ― JmnoteCentOS phpMyAdmin 설치 (yum) ― Ijeff