黑客入侵了……

黑客入侵了…… - 图1

system()函数也有不好的一面。虽然它用起来很简单,上手很快,但也疏忽了很多东西。在正视这些问题以前,我们先来看看如何入侵程序。

代码通过拼接命令字符串的方式工作,像这样:

黑客入侵了…… - 图2

但如果有人输入了这样的命令怎么办?

黑客入侵了…… - 图3

通过在文本中注入命令行代码,就能随心所欲地让程序运行任何命令:

黑客入侵了…… - 图4

这个问题很严重吗?只要用户能运行guard_log,就能轻易地运行其他程序,如果你的代码是在服务器上调用的怎么办?如果这是一个处理文件数据的程序怎么办?