このブログはURLが変更になりました

新しいブログはこちら→ https://matsuu.hatenablog.com/

コマンドインジェクション対策はパーミッション変更で?

wgetが0755とかやめようよ - おさかなラボ

ちょっとそれは辛いかも。

curlも最近のディストリビューションなら標準で入ってるかもしれない。

$ curl http://www.example.com/ -o index.html

sshも禁止しなきゃね。

$ ssh www.example.org wget http://www.example.com/ -O - | cat > index.html

rubyなら標準添付のライブラリで可能。

$ (
echo "require 'net/http'"
echo "Net::HTTP.version_1_2"
echo "Net::HTTP.get_print 'www.example.com', '/index.html'"
) | ruby > index.html

Pythonも標準で。

$ (
echo 'import urllib'
echo 'print urllib.urlopen("http://www.example.com/").read()'
) | python > index.html

上げるとキリが無いし、パーミッションの変更は実運用上弊害が多いと思う。
それよりは、SELinuxAppArmorTOMOYO Linuxなどで対処するのが正しい道だろう。

と、ここでSELinuxでの実装例を上げられればいいんだけど、それは出来ない俺。あかんやん。