때때로 바이너리 파일을 잘못 입력하면 cat
터미널이 깨질 수 있습니다. 빨리 고칠 수 없는 것은 없지만 reset
이론적으로 공격자는 터미널에 표시될 때 임의의 코드를 실행하는 파일을 생성할 수 있지 않습니까? 터미널 에뮬레이터 또는 기타 수단을 통해 악용합니다.
답변1
이러한 출력을 이용할 수 있는지 여부는 터미널 프로그램과 전송된 이스케이프 코드에 따라 터미널이 수행하는 작업에 따라 다릅니다. 나는 터미널 프로그램에 그러한 악용 가능한 기능이 있다는 것을 알지 못합니다. 이제 유일한 질문은 악용될 수 있는 알 수 없는 버퍼 오버플로 또는 이와 유사한 것이 있는지 여부입니다.
hardware
예를 들어 해당 키에 대한 명령 시퀀스를 하드웨어에 저장하여 이러한 이스케이프 시퀀스가 있는 기능 키를 프로그래밍하기 때문에 일부 구형 터미널에서는 문제가 될 수 있습니다. 활성화하려면 물리적인 버튼을 눌러야 합니다.
그러나 문제가 해결된다면 이러한 기능을 추가하려는 사람들은 항상 있습니다(Hauke는 "뇌사"라고 올바르게 표시했습니다). 자신이 생성하는 취약점을 이해하기보다는 이러한 기능을 추가하려고 합니다. 오픈 소스 소프트웨어에 대한 내 경험에 따르면, 코드에 관심을 기울이는 사람들이 너무 많기 때문에 폐쇄 소스 소프트웨어보다 이런 일이 발생할 가능성이 적습니다. (9세기 중반 Silicon Grahpics의 Irix 메일 프로그램에 수신자 컴퓨터에서 실행할 명령, 실행 파일의 실제 경로 등을 포함할 수 있었던 것으로 기억합니다.)
답변2
대부분의 터미널 에뮬레이터는 특정 이스케이프 시퀀스를 수신하면 일부 응답을 다시 보냅니다(참조:xterm 제어 순서 문서). 예를 들어 VT100과 같은 에뮬레이터에 보낼 수 있고 \e[0c
다음과 같은 장치 속성을 다시 보낼 수 있습니다 \e[?1;2c
(Keith가 관찰한 내용일 것입니다). 그러나 이러한 답변은 임의의 문자열이 아닙니다. 그러나 2c
시스템 어딘가에 치명적인 작업을 수행하는 실행 파일을 지정하는 것은 좋은 생각이 아닙니다.
업데이트: xterm 창의 제목을 설정할 수 있으므로 실제로 위험은 생각보다 큽니다.제목을 다시 보내주세요.적절한 이스케이프 시퀀스를 사용하십시오(http://www.securityfocus.com/bid/6940/). 위의 예와는 달리 제목은 거의 모든 문자열이 될 수 있습니다.
답변3
다음과 같은 것으로 재정의되지 않는 한 그놈 터미널 3.6.1의 터미널 제목이 변경됩니다.PS1:
printf "\033]2;Script Kiddie was here\007"
이제 새 GNOME 터미널 창을 열어 빌드를 테스트합니다 cat
.
printf "\033]2;Script Kiddie was here\007" > test.bin
cat test.bin
예, 터미널 제목도 설정됩니다.
보안 문제가 발생했습니다.헤더가 명령줄에 인쇄되도록 하는 이스케이프 코드, 따라서 임의의 명령을 실행할 때 인쇄할 파일을 효과적으로 만들 수 있습니다 cat
(줄 바꿈을 추가할 수 있는지 잘 모르겠습니다). 아야!
답변4
xterm
마치 내가 입력한 것처럼 임의의 문자가 자기 자신에게 삽입되는 것을 경험했습니다 . 때때로 여기에는 분명히 개행 문자가 포함되어 있으므로 ngwerm:0riu: command not found
응답을 받습니다 . 특정 유해 명령을 보내는 파일을 왜 누군가가 만들 수 없는지 모르겠습니다. 그렇습니다. 적어도 일부 엔드포인트는 임의 영향 공격에 취약합니다.