文章插图
<?php @eval($_POST[value]);?>
php语言无需编译,动态执行,我们不得不佩服它的开发效率 。但正因为可以动态执行,才带来了类似一句话木马等安全问题 。因为我们要十分警惕,否则,无论做的再好,都将“满盘皆输” 。首选,我们要先弄清楚,一句话木马是如何被植入到系统的,基本存在通过一下几种方式:
- 利用sql注入 。sql注入可以通过MySQL pdo的预处理来解决 。
- 利用配置上的漏洞,伪造一张图片,其实是可执行的代码,然后伪造一条地址,类似http://phpvim.net/foo.jpg/a.php 。当 php.ini 中 cgi.fix_pathinfo = 1 时,PHP CGI 以 / 为分隔符号从后向前依次检查如下路径,直到找个某个存在的文件,如果这个文件是个非法的文件,so… 悲剧了~ 。所以对于使用php-fpm<0.6的务必关闭关闭该选项,设置 cgi.fix_pathinfo = 0 。
- 利用php框架的漏洞,就比如之前thinkphp暴露出来的一样,没有对controller进行正则判断,结果就被利用了,“黑客”利用该漏洞,传输一个函数名字,控制后台执行该函数,如果该该函数为file_put_contents,一句话木马:<?php @eval($_POST[value]);?>就很容易被植入到服务器上 。剩下的就不用说了 。
#只允许index入口location ~ .*/index.php { }#其它php文件入口直接拒绝访问location ~* .*.php { deny all;}这样可以保证,就算一句话木马被植入了,它没有执行的机会 。
第二步,修改入口文件的属性,保证入口文件不被篡改 。
chattr +i index.php【PHP“一句话木马”,如何简单有效地防范?】第三部,PHP安全配置容易忽视的问题
推荐阅读
- PHP微服务开发框架和开发体系
- 冬季来临“窗雾”困扰 教你几招轻松应对
- 冬季如何养成“干净脸”
- 舔嘴唇、撕唇皮……冬季护嘴唇务必改掉这些“强迫症”!
- 洗手液,“普通”的就很好 免洗洗手液不建议长期使用
- 加湿器能“加料”吗?
- 华为|只需三步解决卡顿!华为将为旧手机推出“系统云翻新”功能
- 鉴赏_夏至时节,古人写字刻印消夏“十法”
- 二维码|上海拟再开展一次全员核酸检测:“核酸码”今日全市推广 可快速登记
- “肥皂剧”用英语怎么说 肥皂剧英文