У меня есть PHP-скрипт веб-страницы, который запускает p7zip на сервере:
Это передает введенный пользователем пароль для шифрования их загруженных файлов.
Затем пароль отправляется получателю по электронной почте через PHP.
В каких возможных местах может храниться пароль?
Я сделал grep -r "Passw0rd" / var / log / * ничего не нашел.
В истории bash тоже ничего.
Dist - это opensuse.
Большое спасибо!
Поскольку это передается в командной строке, оно будет эфемерно хранится в /proc/
файловая система. Любой, у кого есть локальная учетная запись, может получить список запущенных процессов и их аргументы командной строки.
cat /proc/[pid]/cmdline
Что дает вам строку. Пример:
/usr/bin/Xorg:0-backgroundnone-logverbose7-auth/var/run/gdm/auth-for-gdm-yrx0zQ/database-nolistentcpvt7
Что означает:
/usr/bin/Xorg:0 -background none -logverbose 7 -auth /var/run/gdm/auth-for-gdm-yrx0zQ/database -nolistentcp vt7
В cmdline
псевдофайл доступен для чтения всем, хотя он присутствует только тогда, когда процесс действительно запущен. Они видны в top
после нажатия c
ключ.
Некоторые программы действительно манипулируют этой строкой, поэтому она не отражает то, что на самом деле выполняется, хотя я не знаю, допускает ли php такие вещи.