root
ユーザーとしてnotify-send
を使用して通知を送信する必要があるPHPを使用してCLI APPを構築しています。PHP exec | DBUS_SESSION_BUS_ADDRESSを設定しようとするとヌルバイトエラーが発生する
通知を送信しようとする前にDBUS_SESSION_BUS_ADDRESS
を設定する必要があることがわかりました。それ以外の場合は動作しません。ここで、このコードの下
:NULLバイト検出:
$c = sprintf("DBUS_SESSION_BUS_ADDRESS=".$DBUS_SESSION." /usr/bin/notify-send \"TITLE\" \"MESSAGE\"");
system($c);
エラー
システム()をスロー。私は
$DBUS_SESSION
を発見した私の豊富なデバッグから ライン186
に /filepath.phpでの攻撃の可能性が問題を引き起こしています。しかし、私が$DBUS_SESSION
の値をハードコードすると、コマンドは問題なく動作します。このような
:
$c = sprintf("DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus,guid=5ded8923178f8ea19642e36a5a37eb76 /usr/bin/notify-send \"sdfTITLE\" \"MESSAGE\"");
system($c);
はここで何が起こっていますか?これをどうすれば解決できますか?
を解決する必要があります。私はエラーが渡されている文字列の種類のためだと思う。 'DBUS'にはこの問題の原因となっているものが含まれています –