저는 리눅스 민트 17을 사용하고 있습니다.
내가 하나 찾았어페이스트빈파이썬 파일에/usr/local/bin
사람들이 페이스트빈을 사용하는 목적을 고려할 때 이것이 보안 위험입니까?
명령의 출력은 다음과 같습니다 stat
.
파일: "pastebin" 크기: 576개 블록: 8개 IO 블록: 4096개 일반 파일 장치: fc01h/64513d Inode: 5768847 링크: 1 액세스 권한: (0755/-rwxr-xr-x) Uid: (0/ 루트) Gid: (0/ 루트) 접속시간 : 2016-01-19 10:43:31.595833213 -0500 수정: 2015-02-03 07:15:10.000000000 -0500 변경: 2016-01-19 10:43:30.575833252 -0500 태어나다:-
원래 배포판에서는 페이스트빈이 거기에 삽입된 것으로 믿어집니다. 관련 토론은 여기Distro는 "/usr/local"을 해킹합니다..
답변1
/usr/local/bin
안에 있든 /usr/bin
밖에 있든 상관없습니다. 이는 매개변수나 STDIN을 웹 서비스에 게시하는 Python 스크립트일 뿐입니다.
#! /usr/bin/python
import sys, os, stat, subprocess
content = ""
mode = os.fstat(0).st_mode
if stat.S_ISFIFO(mode):
content = sys.stdin.read()
elif stat.S_ISREG(mode):
content = sys.stdin.read()
else:
args = sys.argv[1:]
if len(args) == 1 and os.path.exists(args[0]):
with open(args[0], 'r') as infile:
content = infile.read()
else:
str_args = ' '.join(args)
content = str_args
if content != "":
p = subprocess.Popen(["/bin/nc", "paste.linuxmint.com", "9999"], stdin = subprocess.PIPE)
p.communicate(content)
사용자가 인터넷에 액세스할 수 있는 경우 pastebin
이미 수행할 수 있는 것 이상의 작업을 수행하도록 허용하지 마십시오.
bash
그런데 위의 못생긴 Python 코드를 다음과 같이 압축할 수 있다면 좋지 않을까요?
/bin/nc paste.linuxmint.com 9999 <<< "${*:-`cat`}"
(정확히 동일하게 작동하지는 않지만 중요하지 않습니다.)