shell中的eval

关于shell中的eval 对于命令注入后,一条命令可能需要的字符大概有这几个吧 $ ' " ; && || [ ] ` > <; 可以看到是很多的,所以黑名单过滤的方法肯定是有问题的,因为是肯可能绕过去的。 加入对所有GET, POST的参数都用了htmlspecialchars做了处理,那么所有的< > 都会被转义成html字符 那么就没办法使用重定向符号了吗? 参考下下面的利用eval来使用管道符号 The shell takes care of pipes and I/O redirection before variable substitution, so it never recognizes the pipe symbol inside pipe. The result is that the three arguments |, wc, and -l are passed to ls as arguments. ...

December 7, 2009 · notsobad

让你的linux释放一些不必要的空间

系统磁盘空间占用100%会对系统产生很严重的影响。这是系统服务或者其他的程序都不能够记录日志或者不能够在/var目录保存数据。这些程序一旦不能够保存他们需要的数据,就会自动退出或者直接崩溃。为了避免这种情况发生,ext2和ext3文件系统一般会预留5%的磁盘空间来让root进程使用。这本来是一个挺好的主义,但是5%有时候会显得太大了。例如:500G的硬盘就会预留25G的空间了。而且还有不需要预留空间的磁盘,例如:/home目录。 可喜的是5%这个分配额不是硬编码到文件系统中的。这个分配额可以在不需要移动已有数据的情况下很方便的修改。Tune2fs能够被用来修改ext2或ext3系统的这个分配额。这个工具非常强大,可以修改很多文件系统相关的信息。但是我们这里用到的只有两个- m和-r参数。-m参数用来改变文件系统预留的百分比。-r参数可以指定预留的块数(文件系统是把整个磁盘分成了固定大小的块来管理的)。 ...

November 24, 2009 · notsobad