代码执行漏洞:
前端:
XSS注入:
概念:
用户传参被嵌入前端代码后,被当作了代码执行。
防御手段:
过滤或拦截关键词,如:<>,(),alert,comfirm等。
后端:
SQL注入:
概念:
用户传参被当作数据库代码执行。
防御手段:
过滤或拦截关键词,如:union,select,(),and,=,or,#,--,%00,';',&&,||等。
利用双引号,并使用魔术引号防御。
命令执行注入:
概念:
用户传参被当作系统命令执行。
防御手段:
过滤或拦截关键词,如:<>,?,php,@,eval,(),$_REQUEST[]等。
XXE:
概念:
利用外部实体去读取其他文件信息并外带出来,XML本身没有危害,其危害产生自后端代码的调用。
防御手段:
利用函数libxml_disable_entity_loader(true) PHP的外部实体禁用。
文件包含:
概念:
在PHP的文件包含中,无论后缀是什么,只要内容中有PHP的表示和内容都会当作PHP的代码执行。
防御手段:
重点关注函数:include()和require(),关注被包含的文件中是否有可控制的点,可控制的点中是否会出现漏洞
变量覆盖:
概念:
利用代码是逐行执行的原理,从上往下修改变量。
防御手段:
明确每一个变量的声明意义,减少多余变量,控制好每一次变量的修改和声明,减少出现漏洞的可能,重点关注函数:extract(),parse_str(),import_request_variables()。
反序列化:
概念:
用于存储关键信息的序列码可被用户控制并修改。
防御手段:
重点关注函数:serialize()及unserialize()之间是否存在可控制点,减少出现漏洞的可能性。
逻辑漏洞:
越权:
平行越权:
概念:
对相同层级的用户进行被禁止的访问或操作。
防御手段:
在对用户数据进行操作时添加如cookie等身份识别参数,对用户的数据采用编码的形式来加密,尽可能采用编码后的数据来标记用户数据。
垂直越权:
概念:
对不同层级的用户进行被禁止的访问或操作。
防御手段:
对用户进的操作添加如cookie等身份识别参数,对不同层级的用户采用不用的身份数据编码方式来加密,对用户的数据标记,尽可能采用编码后的数据来标记用户
支付漏洞:
概念:
在进行支付操作时,对于数据包中的数据检验的不完全,导致生成支付订单时产生错误。
防御手段:
在数据库中对每种商品的价格等添加后端检验的步骤,减少出现的可能性。
未授权访问:
概念:
未授权的用户,通过某种方式访问到其他用户的个人主页,包括,相同层级的用户或者管理员。
防御手段:
在用户访问页面时检测用户的身份码如cookie等。
其他:
CSRF:
概念:
网页在你不知情的情况下发送了数据包给你登陆过的网页。
防御手段:
利用token,加一个与cookie相关的随机值,相当于对cookie的校验。
SSRF:
概念:
通过传参利用别的服务器来帮助用户发送数据包
危害:
1、访问内网(危害产生原因:网站防御,外紧内松)
2、隐藏攻击者(把服务器当作跳板机来利用,可用于隐藏自己的ip来躲避追踪)
3、攻击目标本机(比如数据库本地是可以连接本地的,但别的ip是不能连接的,也可以利用dict://file//读取文件查看端口)(有的网站对127.0.0.1的访问不设防)(有的WAF不拦截SSRF攻击)
能访问内网和本机的SSRF才有杀伤力
防御手段:
当服务器接收用户传参时会访问其他服务器时,可适当降低该服务器权限来减小危害。
文件上传:
概念:
后端对用户上传的文件检测不完全,服务器将用户的文件当作了代码执行。
防御手段:
利用白名单,检测用户传输的文件的后缀,内容。