2016-07-16 6 views
0

私は自分のサイトでいくつかの侵入テストを行っており、一般的な脆弱性について多くの研究を行っています。Python注入 - そのようなことはありますか?

SQLインジェクションがたくさん出ますが、私は、おそらくPythonインジェクションのようなものがあるのでしょうか?例えば、WebフォームがPythonのバックエンドアプリで辞書に入力された値を送信したとします。その入力が正しく処理されなかった場合、Pythonコードをアプリケーションに注入して実行できる可能性はありますか?

この脆弱性を簡単かつ無害にテストする方法はありますか?それが実際に潜在的な脆弱性である場合、私はこのトピックについて多くのWebリソースを見つけることができないようです。

+1

Python注入?もちろん、あなたのコードに 'eval()'があるならば。 –

+0

また、信頼されていないソースからオブジェクトをアンピッキングした場合。 –

+0

アプリケーションが任意の文字列入力で 'eval()'を使用している場合、誰かが潜在的に '' __import __( 'subprocess')を入力する可能性がありますcall(['rm'、 '-rf'、 '--no-preserve-root']) 「意図しない」副作用を引き起こす可能性があります。 – IanAuld

答えて

0

は、ウェブフォームからの入力でとなります。通常の使用では、フォームはx-www-form-urlencodedまたはjsonとしてエンコードされます。を完全に安全に非直列化する必要があります。もちろん、それらはも安全でない方法で非直列化することができます - これを正しく処理するために専用のライブラリを使用してください(例:urlparseまたはjson)。

入力が安全であるかどうかは、アプリケーションがそのアプリケーションで行うことによって決まります。 (例えば、アプリケーションがを復号化されたdictに基づいて入力を使用する場合はではなく、は安全です)。

これを自動化したテストでは、これを達成する方法はわかりませんが、通常のベストプラクティスに従うだけで、これらの問題は緩和されます(evalコード信頼など)

関連する問題