() { :: };

() { :: };

사용자 에이전트에서 다음 코드를 사용하여 누군가가 무엇을 하려고 하는지 말해 줄 수 있는 사람이 있습니까?

() { :; }; echo Content-type:text/plain;echo;echo;echo M`expr 1330 + 7`H;/bin/uname -a;echo @

누군가가 사용자 에이전트에 이것 또는 유사한 것을 가지고 있을 때 알려주는 스크립트가 있습니다. () { ::; };내 서버에서 사용자를 차단합니다.

감사해요

답변1

그들은 이점을 이용하려고 노력하고 있어요쉘 쇼크. 그들이 시도하는 경로(일반적으로 cgi 경로를 추측하려고 시도함)가 취약한 경우 출력에 사용자 이름이 포함됩니다.

나머지(텍스트/일반 콘텐츠 유형, M1337H 첫 번째 줄, @마지막 줄)는 대부분 출력을 위한 장식입니다. "Content-type: text/plain"을 제공하면 웹 서버가 이를 먹지 않으며 uname은 M1337H와 @ 사이에 있어야 합니다. 아마도 합법적이고 취약하지 않은 cgi에 :Machine name이 포함된 경우를 필터링하기 위함일 것입니다. .

관련 정보