济南IT培训 > 达内新闻
济南IT培训丨PHP之做好基础安全
- 发布:济南IT培训
- 来源:互联网
- 时间:2018-02-26 14:06
0x00 隐藏php版本
expose_php=off
0x01 禁用危险的php函数
disable_functions=popen,pentl_exec,passthru,exec,system,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_alter,ini_restore,dl,pfsockopen,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server,show_source,escapeshellcmd,escapeshellarg,curl_exec,curl_multi_exec,parse_ini_file,assert
至于eval函数,我们用suhosin把这些全部都加进eval的黑名单
0x02 防护命令注入攻击
是函数使用不严格造成的,可以禁用危险php函数,程序自然会报错.
0x03 防护SQL注入攻击
magic_quotes_gpc = On
一般程序漏洞导致,程序中参数未严格过滤,或采用php前端安装nginx的WAF产品来防护.
0x04 防护xss攻击
可以增加xss模块,或采用php前端安装nginx的WAF产品来防护.存在xss跨站漏洞,如果在其位置跨个木马、偷取cookies、密码进行csrf攻击,后果不堪设想.
0x05 防护会话劫持攻击
设置php的session路径,避免放在网站目录.对于session,需要条件及其苛刻,没有足够条件也是无法成功的!
0x06 关闭注册全局变量
在PHP中提交的变量,包括使用POST或者GET提交的变量,都将自动注册为全局变量,能够直接访问,这是对服务器非常不安全的,所以我们不能让它注册为全局变量,就把注册全局变量选项关闭:
register_globals = Off
当然,如果这样设置了,那么获取对应变量的时候就要采用合理方式,比如获取GET提交的变量var,那么就要用$_GET['var']来进行获取,这个php程序员要注意.
0x07 上传文件
注意服务器上传目录无执行权限,上传程序的文件后缀过滤.
0x08 远程包含、本地包含
常见攻击方法:
远程包含,直接包含远程的恶意代码获取控制权
防范:在php.ini关闭

allow_url_fopen = off
本地包含常见攻击方法有三种:
日志包含.
/proc/environ包含客户端user-agent.
图片包含.
以上三种方法都是先向其内容插入恶意代码,使其包含执行防范:open_basedir限制了目录,防止了1,2的攻击方法.至于第三种我们的图片在调用服务器,本地包含是无效的.
0x09 Php.ini包含补丁文件
可以根据需要,通过它包含或者nginx的模块在php.ini中引用.在配置文件内引用的话,将影响到所以的网站,包含所有页面在php.ini中,找到此节:
; Automatically add files before or after any PHP document.
;auto_prepend_file = "phpids.php"
;auto_append_file = "alert.php"
默认是空,请添加所包含的文件.同时找到:
; UNIX: "/path1:/path2″
;include_path = ".:/php/includes"
;
; Windows: "path1;path2″
include_path = ".;F:PHPnowhtdocs"
本篇文章是由济南IT培训为您呈现,希望给您带来更多更好的文章,喜欢的朋友们可以添加微信公众号.
更多济南IT培训相关咨询,请扫描下方二维码

最新开班时间
- 北京
- 上海
- 广州
- 深圳
- 南京
- 成都
- 武汉
- 西安
- 青岛
- 天津
- 杭州
- 重庆
- 哈尔滨
- 济南
- 沈阳
- 合肥
- 郑州
- 长春
- 苏州
- 长沙
- 昆明
- 太原
- 无锡
- 石家庄
- 南宁
- 佛山
- 珠海
- 宁波
- 保定
- 呼和浩特
- 洛阳
- 烟台
- 运城
- 潍坊
济南IT培训丨PHP之做好基础安全
- 发布:济南IT培训
- 来源:互联网
- 时间:2018-02-26 14:06
0x00 隐藏php版本
expose_php=off
0x01 禁用危险的php函数
disable_functions=popen,pentl_exec,passthru,exec,system,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_alter,ini_restore,dl,pfsockopen,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server,show_source,escapeshellcmd,escapeshellarg,curl_exec,curl_multi_exec,parse_ini_file,assert
至于eval函数,我们用suhosin把这些全部都加进eval的黑名单
0x02 防护命令注入攻击
是函数使用不严格造成的,可以禁用危险php函数,程序自然会报错.
0x03 防护SQL注入攻击
magic_quotes_gpc = On
一般程序漏洞导致,程序中参数未严格过滤,或采用php前端安装nginx的WAF产品来防护.
0x04 防护xss攻击
可以增加xss模块,或采用php前端安装nginx的WAF产品来防护.存在xss跨站漏洞,如果在其位置跨个木马、偷取cookies、密码进行csrf攻击,后果不堪设想.
0x05 防护会话劫持攻击
设置php的session路径,避免放在网站目录.对于session,需要条件及其苛刻,没有足够条件也是无法成功的!
0x06 关闭注册全局变量
在PHP中提交的变量,包括使用POST或者GET提交的变量,都将自动注册为全局变量,能够直接访问,这是对服务器非常不安全的,所以我们不能让它注册为全局变量,就把注册全局变量选项关闭:
register_globals = Off
当然,如果这样设置了,那么获取对应变量的时候就要采用合理方式,比如获取GET提交的变量var,那么就要用$_GET['var']来进行获取,这个php程序员要注意.
0x07 上传文件
注意服务器上传目录无执行权限,上传程序的文件后缀过滤.
0x08 远程包含、本地包含
常见攻击方法:
远程包含,直接包含远程的恶意代码获取控制权
防范:在php.ini关闭

allow_url_fopen = off
本地包含常见攻击方法有三种:
日志包含.
/proc/environ包含客户端user-agent.
图片包含.
以上三种方法都是先向其内容插入恶意代码,使其包含执行防范:open_basedir限制了目录,防止了1,2的攻击方法.至于第三种我们的图片在调用服务器,本地包含是无效的.
0x09 Php.ini包含补丁文件
可以根据需要,通过它包含或者nginx的模块在php.ini中引用.在配置文件内引用的话,将影响到所以的网站,包含所有页面在php.ini中,找到此节:
; Automatically add files before or after any PHP document.
;auto_prepend_file = "phpids.php"
;auto_append_file = "alert.php"
默认是空,请添加所包含的文件.同时找到:
; UNIX: "/path1:/path2″
;include_path = ".:/php/includes"
;
; Windows: "path1;path2″
include_path = ".;F:PHPnowhtdocs"
本篇文章是由济南IT培训为您呈现,希望给您带来更多更好的文章,喜欢的朋友们可以添加微信公众号.
更多济南IT培训相关咨询,请扫描下方二维码

最新开班时间
- 北京
- 上海
- 广州
- 深圳
- 南京
- 成都
- 武汉
- 西安
- 青岛
- 天津
- 杭州
- 重庆
- 厦门
- 哈尔滨
- 济南
- 福州
- 沈阳
- 合肥
- 郑州
- 长春
- 苏州
- 大连
- 长沙
- 昆明
- 温州
- 太原
- 南昌
- 无锡
- 石家庄
- 南宁
- 中山
- 兰州
- 佛山
- 珠海
- 宁波
- 贵阳
- 保定
- 呼和浩特
- 东莞
- 洛阳
- 潍坊
- 烟台
- 运城