임의의 파일을 분류하는 것이 얼마나 안전합니까?

임의의 파일을 분류하는 것이 얼마나 안전합니까?

가끔 실수로 바이너리 파일을 만들면 cat터미널이 깨질 때가 있습니다. 빨리 reset고칠 수 없는 것은 없지만 공격자가 이론적으로 터미널에 표시될 때 임의의 코드를 실행하는 파일을 만들 수는 없습니까? 터미널 에뮬레이터 등의 익스플로잇을 통해.

답변1

이러한 출력을 이용할 수 있는지 여부는 터미널 프로그램과 전송되는 이스케이프 코드에 따라 해당 터미널이 수행하는 작업에 따라 다릅니다. 나는 그러한 악용 가능한 기능을 가진 터미널 프로그램을 알지 못하며, 현재 유일한 문제는 알 수 없는 버퍼 오버플로 또는 이와 유사한 것이 악용될 수 있다는 것입니다.

일부 구형 hardware터미널에서는 하드웨어에 해당 키에 대한 명령 시퀀스를 저장하여 이러한 종류의 이스케이프 시퀀스로 기능 키를 프로그래밍할 때 문제가 될 수 있습니다. 이를 활성화하려면 물리적인 키를 눌러야 합니다.

그러나 문제가 해결된다면 그러한 기능을 기꺼이 추가하고 자신이 만드는 허점을 이해하지 못하는 사람들이 항상 있습니다(Hauke가 '뇌사자'라고 정당하게 표시함). 오픈 소스 소프트웨어에 대한 내 경험에 따르면 코드를 보는 눈이 많기 때문에 폐쇄 소스에서처럼 이런 일이 발생할 가능성이 적습니다. (90년대 중반 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, 따라서 ed가 임의의 명령을 인쇄할 때(여기에 개행 문자를 넣을 수 있는지 잘 모르겠습니다) 파일을 효과적으로 생성할 수 있습니다 . 아야!

답변4

xterm나는 마치 내가 입력한 것처럼 임의의 문자를 그 자체에 삽입하는 경험을 확실히 경험했습니다 . 그리고 때때로 여기에는 분명히 개행 문자가 포함되어 있어서 ngwerm:0riu: command not found응답을 받았습니다. 누군가가 특정하고 유해한 명령을 보내는 파일을 제작하지 못할 이유가 없습니다. 그렇습니다. 적어도 일부 터미널은 임의의 영향을 미치는 공격에 취약합니다.

관련 정보