私はLinux Mint 17を使用しています。
私が一つ見つけたペーストビンPythonファイルに/usr/local/bin
人々がペーストビンを使用する目的を考えると、これはセキュリティリスクですか?
コマンドの出力は次のとおりですstat
。
ファイル: "pastebin" サイズ:576ブロック:8個IOブロック:4096一般ファイル デバイス: fc01h/64513d Inode: 5768847 リンク: 1 アクセス権: (0755/-rwxr-xr-x) Uid: (0/ root) Gid: (0/ root) 接続時間: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をWebサービスに公開する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`}"
(まったく同じようには機能しませんが、重要ではありません。)