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'에는이 문제를 일으키는 요소가 포함되어 있습니다. –