1
很多程序,例如Windows上的runas
和* nix上的su
采取措施确保用户不会在批处理文件中执行愚蠢的操作,例如确保密码无法传递给它或作为参数提供。我应该采取措施防止从CreateProcessWithLogonW调用中读取密码吗?
在工作中,需要由另一名员工重复执行任务,该任务需要以域管理员帐户登录。我正在编写一个存根应用程序,它调用CreateProcessWithLogonW
来完成此操作,而不会让他们看到明文密码并且不必为他们提供管理员密码。
我担心的是,如果使用十六进制编辑器(甚至纯文本编辑器)打开密码,密码可能会在可执行文件中显示为纯文本。我是否应该采取措施确保在此应用程序中以混淆方式生成密码?
例如,开始与这样的结构:
typedef struct _MYPASS
{
unsigned int first4;
unsigned int next4;
unsigned short next2;
unsigned char last1;
} MYPASS;
上的位然后执行算术,以产生对应于所述登录口令的ASCII。
这是一个内部应用程序的矫枉过正?
我将使用调度程序作业或后台守护程序,它们都确保触发它的实际用户无法访问正在运行的应用程序的进程空间,或者(更糟糕的是)包装程序。 – eckes