問題タブ [taint]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
perl - CGI.pm でシステムコールを untaint する方法
次の CGI スクリプトがあります。
コマンドを実行すると、これが表示されます
10行目をどのように修正できますか?
java - オープンソースの汚染ツールはありますか?
オープンソースの汚染ツールはありますか?私はJavaプロジェクトを分析しようとしていますが、それはJavaソースコードです。したがって、パラメータがどこでどの目的に使用されているかがわかります。たとえば、ifステートメントで使用されているのか、それとも別の変数に割り当てられているのかなどです。
ありがとう
ajax - JacksonMessageConverterからのSpringJSON汚染応答
SpringアプリケーションにJSON応答を返すためのJacksonMessageConverterがあります。しかし、JSONが返される前に、 Ajaxセキュリティ-JSONハイジャックの防止で与えられているようにJSONを汚染したいと思います。メッセージコンバーターを使用するときにそうすることは可能ですか?
アップデート
responsebodyを使用してこの春のprefixjsonに似た解決策を探していますが、構成はすでに正しく設定されています。PFB
ただし、返されたJSONのプレフィックスは「&&{}」ではありません。
注: Ajaxセキュリティ-JSONハイジャックの防止で説明されているように、JSONに別のプレフィックスを使用したい のですが、Jacksonで提供されているデフォルトのサポートでさえ機能していないようです。何か案は?
ruby-on-rails - Railsはデフォルトでアクティブなレコード列をどのように汚染しますか?
Rails マジックに関する質問:
私は IRB と tainted で遊んでいましたか? メソッド、それから私はちょうど次のことをしました:
一部のパラメーターが汚染されていて、一部が汚染されていない理由を誰かが知っていますか? また、どの列を汚染するかを選択する方法があれば?
編集:
答えてくれてありがとう。
@sgtFloyd: 国を手動で更新しようとしました。そして、ここで何が起こっているのですか:
編集2:
User モデル内のすべてを削除しましたが、一部の String 列は汚染されていないように見えますが、一部の列はそうです...
どうもありがとう!
json - 評価不可能な(「解析不可能なクロフト」)JSONを作成してセキュリティを強化しますか?
追加レベルのセキュリティとして、jsonへの解析不可能なcurftアプローチの使用を検討しています。
while(1);
アプローチを見て、私はグーグルとフェイスブックに出くわしましたfor(;;)
; そして別の言及{}&&
を取り巻くコメントを見たwhile(1);
ことがありますが、1は数値であると混乱する可能性があるため、私のアプローチはになりますfor(;;);
。
次に、に出くわしました{}&&
。これにより、jsonは無効になりますが、解析/評価は可能です。参考のためにこの記事を参照してください:http ://www.sitepen.com/blog/2008/09/25/security-in-ajax/
あなたのアプローチは何ですか?そして、解析不可能なcurftを使用してajax呼び出しを行うための関数はどのように見えますか?
perl - #!/ usr / bin / perlの-Tまたは-wの意味は何ですか?
グーグル#!/usr/bin/perl
で検索しましたが、満足のいく答えが見つかりませんでした。私はそれがかなり基本的なことであることを知っていますが、それでも、#!/usr/bin/perl
Perlでの重要性は何であるかを私に説明できますか?さらに、何を意味します-w
か?私はPerlの初心者ですので、しばらくお待ちください。-T
#!/usr/bin/perl
perl - -T で実行しているときに Perl が特定のファイルを要求したくないのはなぜですか?
require 'lib/file.pl'
私は最近、自分のシステムではで実行しているときは不可能であることに気付きました-T
が、require './lib/file.pl'
動作します。
$ perl -w -e 'require "lib/ file.pl -T
"' $ perl -w -e 'require "./lib/file.pl"'
taint モードで.
は、 の一部ではありません@INC
。
ドキュメントでその動作を見つけることができませんでした。これがどこに文書化されているか、またはlibディレクトリとして-T
好きではない理由を教えてください。.
c - 汚染分析の実行方法を添え木
Splintを使用して汚染分析を実行するにはどうすればよいですか?
Ubuntu12.04にSplintをインストールしました。以下のような小さなテストケースを作成しました。
また、次の内容でsplint.xhファイルを作成しました。
また、以下の内容でsplint.mtsファイルを作成しました。
次に、最後に次のコマンドでスプリントツールを実行しました。
prg001.cがサンプル入力である場合、「splint」はsplint.mtsおよびsplint.xhファイルを指します。すべてのファイルは現在のディレクトリにあります。
私が受け取った出力は次のとおりです。
スプリント3.1.2---2012年8月21日
prg001.c :(関数main内)prg001.c:6:1:printfへのフォーマット文字列パラメーターはコンパイル時定数ではありません:フォーマットパラメーターはコンパイル時に不明です。引数は型チェックできないため、これはセキュリティの脆弱性につながる可能性があります。(警告を禁止するには-formatconstを使用します)prg001.c:3:14:パラメーターargcは使用されません関数パラメーターは関数の本体で使用されません。型の互換性や将来の計画のために引数が必要な場合は、引数の宣言で/ @ unused@ /を使用してください。(警告を禁止するには-paramuseを使用します)
チェックが終了しました---2つのコード警告
出力に汚染分析のヒントはありません。Splintを使用して汚染分析を行う方法について誰かが私を助けてくれますか?
ありがとう
ruby - 汚染されたオブジェクトとは何ですか?いつ汚染を解除する必要がありますか?
Rubyオブジェクトを汚染する必要があるのはいつですか?また、汚染を解除する必要があるのはいつですか?汚染されたオブジェクトの概念により、Rubyスクリプトはどのようにセーフモードで実行されますか?誰かがこれについて詳しく説明して、いくつかのコードスニペットで概念を明確にすることはできますか?
perl - perl cgi::param エラー、taint モードでプラス記号が 1 つだけの場合
Perl CGI に基づく Web サイトで作業しています。Perl -T (汚染モード) で実行されます。テキスト入力にはプラス記号だけが含まれており、それ以外 ("+") が原因で CGI::param() がこのエラーを発生させることに気付きました:
....../CGI.pm 行 533 で -T スイッチを指定して実行している場合、require の依存関係が安全ではありません。BEGIN が失敗しました -- コンパイルが中止されました。
これは、他の単一記号、または先頭または末尾に空白があるプラス記号 ("-"、" + "、"?") には適用されません。
通常、ユーザーは入力としてプラス記号を 1 つ入力することはありませんが、ブラウザに醜い「ソフトウェア エラー」を出力する代わりに、スクリプトが入力を適切に拒否するように、ここで回避策を講じたいと考えています。
'
これにより、コンパイル エラーが出力されます。
[ ../..../CGI.pm 行 xxx で -T スイッチを指定して実行すると、require の安全でない依存関係が発生します。BEGIN が失敗しました -- コンパイルが中止されました。]
CGI->new() をスキップすると、エラーは発生しません。しかし、これは私たちの要件によるとオプションではありません。
これがより明確になることを願っています。役に立ってくれてありがとう!
YJ