设为首页收藏本站

安徽论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 16819|回复: 0

PHP安全 [安全编码]

[复制链接]

85

主题

0

回帖

267

积分

中级会员

Rank: 3Rank: 3

积分
267
发表于 2022-3-26 10:28:37 | 显示全部楼层 |阅读模式
网站内容均来自网络,本站只提供信息平台,如有侵权请联系删除,谢谢!
目录
数据库安全(SQL注入)
命令执行 
XSS 
资源泄露 
本地文件包含
任意文件上传 

文件系统安全
源码
  1. [/code] 如果攻击者恶意构造如下:
  2. [code]user_submitted_name="../etc"user_submitted_filename="passwd"
复制代码
因为源码是直接拼接的,所以上述执行会直接把/etc/passwd文件执行删除操作。(属于越权行为)
安全编码

  • 不允许用户有拼接权限。
  • 对用户输入进行完整的校验。
校验源码(白名单):
  1. [/code] ctype_alnum():做字母和数字字符检测
  2. [b]( : ?[/b]         非捕获分组,仅仅匹配
  3. [b]( ?  ! \. )   [/b]匹配非[b].[/b]的内容
  4. [b]分析:[/b]
  5. [list=1]
  6. [*][b]../etc [/b]在上述正则会导致[b]die[/b],即 [b]..[/b]开头的文件不允许
  7. [*][b]/[/b]符号会导致[b]die[/b]。
  8. [*]根据操作系统的不同,存在着各种各样需要注意的文件,包括联系到系统的设备( /dev/或者COM1)、配置文件(/ect/文件和.ini文件)、常用的存储区域(/home/ 或者My Documents )等等。由于此原因,[b]建立一个策略禁止所有权限而只开放明确允许的通常更容易些[/b]。
  9. [/list][size=4]数据库安全(SQL注入)[/size]
  10. [b]恶意输入:[/b]
  11. 尽量避免直接的数据库查询语句的拼接,无论数据库种类。
  12. [code]a%' exec master..xp_cmdshell 'net user test testpass /ADD'
复制代码
 错误输出:
尽量避免直接输出原本的数据库错误信息,而自行构造。
[code]
免责声明
1. 本论坛所提供的信息均来自网络,本网站只提供平台服务,所有账号发表的言论与本网站无关。
2. 其他单位或个人在使用、转载或引用本文时,必须事先获得该帖子作者和本人的同意。
3. 本帖部分内容转载自其他媒体,但并不代表本人赞同其观点和对其真实性负责。
4. 如有侵权,请立即联系,本网站将及时删除相关内容。
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表