XSS跨站脚本攻击
Cross Site Scripting为了和CSS区别,CSS指的是层叠样式表(Cascading Style Sheets)
用户输入或使用其他方式向代码中注入其他S,然后S代码被执行。
1.可能是写一个死循环、获取cookie登录
2.监听用户行为
3.修改DOM伪造登录表单
4.页面生成浮窗广告

反射型

XSS代码通过URL注入。
因为恶意脚本通过作为网络请求的参数,经过服务器,然后反射到HTML文档中执行解析,服务器不会存储这些恶意脚本。
反射型XSS漏洞常见于通过URL传递参数的功能,如网站搜索、跳转等。

存储型

XSS代码发送到服务器数据库,前端请求数据时,将XSS代码发送到前端。
场景:留言区提交一段脚本执行,若前后端未做好转义的工作,评论内容存在数据库,页面渲染过程中直接执行
相当于是执行一段未知逻辑的S代码。
如论坛发帖、商品评论、用户私信等。

文档型

XSS攻击不会经过服务端,作为中间人的角色,数据传输过程劫持到网络数据包,然后修改里面的HTML文档。
劫持包括:
1.WIF路由劫持
2.本地恶意软件
DOM型XSS跟前两种XSS的区别:DOM型XSS攻击中,取出和执行恶意代码由浏览器端完成,属于前端JavaScript自身的安全漏洞,而其他两种XSS都属于服务端的安全漏洞。
防范:一个信念,两个利用
1.对输入转码过滤
2利用CSP
浏览器内容安全策略,核心就是服务器决定浏览器加载哪些资源,功能:
1.限制其他域下的资源加载
2.禁止向其它域提交数据
3.提供上报机制
3.HttpOnly
IttpOnly类型的cookie阻止JS对其的访问(标记或授权对话)
阻止XSS攻击:服务器对脚本进行过滤或转码,利用CSP策略,使用HttpOnly;
CSRF-跨站伪造请求(钓鱼)
Cross-Site Request Forgery
攻击者诱导受害者进入第三方网站,在第三方网站中,向被攻击网站发送跨站请求。利用受害者在被攻击网站已经
获取的注册凭证(比如cookie),绕过后台的用户验证,因此可以冒充用户对被攻击的网站执行某项操作。
利用所在网站的目前登录信息,悄悄提交各种信息,比XSS更恶劣。
本质:利用cooki会在同源请求中携带发送给服务器的特点,以此冒充用户。
利用服务器的验证漏洞和用户之前的登录状态模拟用户操作。
点击链接后,可能发生3件事
1.自动发送GET请求。利用src发送请求
2.自动发送POST请求
3.诱导点击发送GET请求
防范
1.SameSite
SameSite可以设置为三个值,Strict、Lax和None。
a.在Strict模式下,浏览器完全禁止第三方请求携带Cookie。比如请求sanyuan.com网站只能在sanyuan.com域名当
中请求才能携带Cookie,在其他网站请求都不能。
b.在Lax模式,宽松一点,但是只能在get方法提交表单况或者a标签发送get请求的情况下可以携带Cookie,其
他情况均不能。
c.在None模式下,也就是默认模式,请求会自动携带上Cookie..
2验证来源站点
请求头中的origin和referer
origin,只包含域名信息,referer包含具体的URL路径。
3.CSRF Roken
利用token(后端生成的一个唯一登陆态,传给前端保存)每次前端请求都会带token,后端检验通过才同意请求。
·敏感操作需要确认
·敏感信息的cookie只能有较短的生命周期
4安全框架
如Spring Security.
SQL注入攻击
SQL注入攻击,将恶意的Sq查询或添加语句插入到应用的输入参数中,再在后台Sq服务器上解析执行。
如何让Web服务器执行攻击者的SQL语句?
SQL注入的常规操作就是将有毒的SQL语句放置于Fo表单或请求参数之中,然后提交到后端服务器,如果后端服
务器没有做输入安全检查,直接将变量取出执行SQL语句,就容易中招。
预防方式如下:
·严格检查输入变量的类型和格式
·过滤和转义特殊字符
·对访问数据库的Web应用程序采用Web应用防火墙
其他种类的攻击:
DDoS全称Distributed Denial of Service:分布式拒绝服务攻击。是拒绝服务攻击的升级版。拒绝攻击服务顾名思
义,让服务不可用。常用于攻击对外提供服务的服务器,像常见的:
·Web服务
。邮件服务
·DNS服务
·即时通讯服务
DNS劫持
JSON劫持
暴力破解
HTTP报头追踪漏洞
信总泄露
目录遍历漏洞
命令执行漏洞
文件上传漏洞等等