web漏洞

XSS
反射性 (经过服务器)
存储性 (经过服务器)
DOM型(没有经过服务器)
主要原因是程序对输入和输出没有做合适的处理,导致恶意代码输出在前端时被浏览器当作有效代码解析执行从而产生危害。

CSRF(跨站请求伪造)
攻击者会伪造一个请求(一般是连接) 然后欺骗受害者点击,受害者点击的那一刻就代表整个攻击完成。

sql注入
SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。 形成原因是因为数据交互的时候过滤不严格

RCE
远程命令执行:应用系统需要给用户提供指定的远程命令接口 如果设计者没有做严格的安全控制 可能就会攻击者通过该接口提交恶意指令 从而让后台执行 进而控制整个后台服务器
远程代码执行:后台过滤不严 把用户输入作为代码的一部分进行执行

文件包含
PHP中包含函数 :
include(),include_once()
require(),require_once();
包含函数中包含的代码文件一般是固定的 就不会出现安全问题
但是写成了变量 由前端用户传的 如果没有严密的安全考虑 就可能会引起一些文件包含漏洞 一般分为两种情况 本地文件包含 远程文件包含

本地文件包含:只能对本地文件进行包含 但服务器的文件不能被攻击者控制 所以攻击者一般包含一些固定的系统文件 从而读取系统敏感信息 本地包含结合一些特殊的文件上传漏洞 从而形成更大的威力

远程文件包含:能够通过url地址对远程文件包含 意味着攻击者可以传入任意代码 。 直接凉凉 。 (可以通过设置严格的白名单进行过滤)

不安全文件下载
一般点击下载链接的时候 会对后台发送一个下载请求 后台收到请求会开始执行下载代码 如果下载文件的时候没有进行过滤严谨 就可能会引起不安全的文件下载
如果攻击者提交的不是程序预期的文件名 而是精心构造的路径 ../../../../../etc/passwd 就很有可能会把该指定文件下载下来(密码文件 源代码等等)

不安全文件上传
后台对上传文件没有进行任何安全判断或者条件不够严谨 攻击者可能会通过上传一些恶意文件 比如一句话木马 从而导致后台服务器被shell

越权
形成原因是后台使用了不合理权限效验规则导致的
普通用户可以操作管理员功能 为垂直越权
普通用户可以查看其他用户 为水平越权

目录遍历
web功能设计的是需要把访问的文件定义成变量 这样可以让前端的功能更加灵活 当用户发送一个前端请求时 如果过滤不严谨 攻击者可能会通过../../这样打开或执行一些其他文件 从而导致服务器上的其他目录文件被遍历出来 形成目录遍历漏洞

敏感信息泄漏
设计者设计不当 不应该被用户看到的数据被轻易访问到。
---通过访问url下的目录,可以直接列出目录下的文件列表;
---输入错误的url参数后报错信息里面包含操作系统、中间件、开发语言的版本或其他信息;
---前端的源码(html,css,js)里面包含了敏感信息,比如后台登录地址、内网接口信息、甚至账号密码等;

PHP反序列化
序列化和反序列化本身没有问题 但反序列化内容可以被用户控制
且后台不正当使用了php魔法函数 就会导致安全问题
常见的几个魔法函数:
__construct()当一个对象创建时被调用

__destruct()当一个对象销毁时被调用

__toString()当一个对象被当作一个字符串使用

__sleep() 在对象在被序列化之前运行

__wakeup将在序列化之后立即被调用

XXE (xml外部实体注入漏洞)
攻击者通过向服务器注入指定的xml实体内容 从而让服务器按照指定配置进行执行 导致问题
也就是 服务端接收和解析了来自用户端的xml数据 而又没有严格的安全控制 从而导致xml外部实体注入

URL重定向
不安全的url跳转问题可能发生在一切执行了url地址跳转的地方。
如果后端采用了前端传进来的(可能是用户传参,或者之前预埋在前端页面的url地址)参数作为了跳转的目的地,而又没有做判断的话
就可能发生"跳错对象"的问题。

url跳转比较直接的危害是:
-->钓鱼,既攻击者使用漏洞方的域名(比如一个比较出名的公司域名往往会让用户放心的点击)做掩盖,而最终跳转的确实钓鱼网站

SSRF(服务器端请求伪造)
形成原因 服务器提供了从其他服务器应用获取数据的功能 但又没有对目标地址做严格的过滤和限制
导致攻击者可以传入任意的地址来让后台服务器对其发起请求 并返回对该目标地址请求的数据

数据流:攻击者----->服务器---->目标地址

posted @ 2019-09-11 00:19  栗子酱~  阅读(157)  评论(0编辑  收藏  举报