No sé si esta pregunta es mejor aquí o en el mundo de Linux... pero necesito una respuesta decente... :)
Estoy usando Applescript para extraer datos de los campos en una hoja de cálculo o base de datos, los inserto directamente en la terminal para el cifrado.
Mi Applescript incluye una línea como:
echo "thisismydatastring and my saltbits" | openssl aes-256-cbc -k thisismypassword -base64
Mi pregunta: ¿hay alguna manera de filtrar a través de los archivos de registro para capturar esta instancia de texto sin formato de la contraseña?
¿Hay una mejor manera de prevenir la piratería?
Si se puede rastrear el envío de un "eco" a la terminal, ¿hay otra forma de enviar algo a la Terminal donde no llegue a ningún registro (y donde AppleScript pueda obtener los resultados)?
Superé el problema de la contraseña en mis scripts de bash al obtener (incluido) otro archivo con una variable predeterminada ya configurada.
Por ejemplo. Digamos que tiene un archivo de "configuración" ~/config.conf
y en él asigna algunas variables:
# Config file for MyScript.sh
$user = Me
$pass = S3cr3t5!
En su secuencia de comandos, obtiene el archivo para que pueda usar las variables que definió:
#!/bin/bash
source /Path/to/config.conf
stuff= "thisismydatastring and my saltbits"
echo $stuff | openssl aes-256-cbc -k $pass -base64
Personalmente, me gusta mantener la línea que ejecuta el comando lo más limpia posible usando variables (como stuff
en el ejemplo anterior) para que sea más fácil ver lo que está haciendo el comando y, en consecuencia, más fácil de depurar.
¿Está a salvo de miradas indiscretas? Sí, en su mayor parte. Puede configurar los permisos para que solo el usuario pueda leer y escribir el archivo y negarlo a todos los demás:
chmod 600 config.conf
Cualquiera que husmee en los registros (que es su pregunta) no podrá ver las contraseñas de texto sin formato.
export
la variable.
sin ladera
ps aux
para ver la línea de comandos es otro...hacker
http://xyproblem.info/
franco ankersly
franco ankersly
sin ladera
ps l
felizmente mostrará cualquier línea de comando de los comandos que se están ejecutando actualmente, por lo que si un atacante lo ejecuta en un bucle o en el momento adecuado, puede leer su contraseña fácilmente. Y la línea de comando es parte de la tabla de procesos de acceso abierto, por lo que algunas líneas de código C también extraerán los datos.usuario3439894
echo "thisismydatastring and my salt bits" | openssl aes-256-cbc -k thisismypassword -base64
porque si se hace en untell application "Terminal"
bloque usando eldo script
comando , se está escribiendo en.bash_history
.do shell script
Sin embargo, si se hace en el comando integrado de AppleScript , no se registra en ninguna parte porque eldo shell script
comando usa un no interactivoshell
yHISTORY
está deshabilitado en un no interactivoshell
. Continuado...usuario3439894
set theResult to (do shell script "...")
y la variabletheResult
contendrá la información para el procesamiento posterior que desee y lo hará sin ningún registro por el motivo indicado en mi primer comentario.franco ankersly