2009-07-10 42 views
2

我今天玩弄Erlang的外殼,發現我能做的命令注入,類似如下:我如何清理Erlang輸入?

io:get_chars("Cmd> ", 3). 
Cmd> Dud List=[3,4,5]. io:get_line("I just took over your shell!"). 

有沒有一種方法來消毒GET_CHARS函數的輸入,所以這是不可能的?

回答

5

你並不是真的在做命令注射。 io:get_chars("Cmd> ", 3).只是它的工作:從輸入流中讀取3個字符。 作爲正常的讀取 - 評估 - 打印循環的一部分,erlang外殼處理後的所有內容都將被輸入。