SetGidを実行している間、printfの不安定な依存関係
質問
私のセキュリティクラスの一環として、Ubuntuの安全性の低いバージョンで多くの脆弱性を活用する必要がありました。私はすべての課題を解決しましたが、誰かがいくつかの光を当てることができることを望んでいる1つの問題に出くわしました。
それぞれの課題は、セットGidバイナリであり、引き継がれたときに攻撃者に次のレベルの特権を与えます。そのレベルのグループに追加するために、本質的に実行したコマンドL33Tを実行します adduser <user> <group>
.
私のエクスプロイトの1つで、私のシェルコードは単にexec L33tに電話をかけ、このメッセージを受け取りました:printfの不安定な依存関係は/usr/share/perl5/debian/addusercommon.pm line 64でsetgidを実行しています。
問題を回避するために、私は正常に機能する2本のラインボーンシェルを作成しました。
#!/bin/sh
l33t
不安定な依存関係の問題を見た理由を誰かが説明できますか?
解決
あなたがまだ知らないなら 汚染モード: :それにより、すべてのユーザー入力が「汚染」としてマークされ、「汚染された」値を出力することを拒否します(信頼できない入力を明示的に「塗装」しなければならないという意味)。
とにかく、64行目 AdduserCommon.pm
です sprintf
の中に dief
機能…だから私は何が起こっているのかと思う l33t
直接、 adduser
スクリプトが何らかのエラーに遭遇し、その後、汚染エラーが発生します。 adduser
そのエラーを報告しようとします。
所属していません StackOverflow