目录
XSS
XSS全称是Cross Site Scripting,XSS攻击即跨站脚本攻击,是⼀种被动型,在不知道的情况下触发类似⽆感型的攻击手段,属于常用的攻击手段且能有针对性的获取目标信息。
XSS的分类:
存储型
一种持久型的XSS攻击。其代码是存储于服务器中的,如在个人信息或发表文章等地方,加入恶意代码,如果没有过滤或过滤不严,那么这些恶意代码将储存到服务器中,每当有用户访问该页面的时候都会触发代码执行,这种XSS非常危险,容易造成蠕虫,大量盗窃cookie
反射型
一种非持久性的XSS攻击。攻击者事先制作好攻击链接, 需要欺骗用户自己去点击链接才能触发XSS代码(服务器中没有这样的页面和内容),一般容易出现在搜索页面。
DOM型
一种可以包含于存储型的XSS攻击,是基于文档对象模型Document Objeet Model,DOM)的一种漏洞。DOM是一个与平台、编程语言无关的接口,它允许程序或脚本动态地访问和更新文档内容、结构和样式,处理后的结果能够成为显示页面的一部分。DOM中有很多对象,其中一些是用户可以操纵的,如URI ,location,refelTer等。客户端的脚本程序可以通过DOM动态地检查和修改页面内容,它不依赖于提交数据到服务器端,而从客户端获得DOM中的数据在本地执行,如果DOM中的数据没有经过严格确认,就会产生DOM XSS漏洞。
cument.getElementById("a").innerHTML="yyyyyy"
防范方式:在输⼊点过滤敏感关键字
XSS的用途:
⽹络钓⻥、窃取⽤户 Cookies、弹⼴告刷流量、具备改⻚⾯信息、删除⽂章、获取客户端信息、传播蠕⾍等。
Xss蠕虫原理:
攻击者发现⽬标⽹站存在XSS漏洞,并且可以编写XSS蠕⾍。利⽤⼀个宿主(如博客空间)作为传播源头进⾏XSS攻击。
XSS常见的防御方法:
添加CDN,开启HttpOnly,CSP策略,语言中提供过滤输入的函数,对输出进行编码转义以及添加waf。
CSRF
CSRF(Cross-site request forgery),中文名称:跨站请求伪造,也被称为:one click attack/session riding,缩写为:CSRF/XSRF,是一种通过盗用用户身份,以用户名义发送恶意请求的攻击。
CSRF的原理:
由于在客户端没有对用户的请求是否自愿进行充分的验证,进而被攻击者盗用发起恶意请求。CSRF通常与其他攻击手段组合使用,如XSS攻击就是常见的实现CSRF的方式。
CSRF的危害:
篡改⽬标⽹站上的⽤户数据,盗取⽤户隐私数据,盗用用户身份进行发送邮件、消费,传播 CSRF 蠕虫。
CSRF的防范:
CSRF的防范可从客户端和服务器端两方面入手。客户端可在cookie 中加⼊随机数,要求请求中带上,⽽攻击者获取不到 cookie 中的随机数;服务器端需验证 HTTP Referer 字段、在请求地址中添加 takon 验证。防范的核心围绕不让入侵者那么容易伪造请求进行。
SSRF
SSRF(Server-Side Request Forgery:服务器端请求伪造) 是一种由攻击者构造形成由服务端发起请求的一个安全漏洞。一般情况下,SSRF攻击的目标是从外网无法访问的内部系统。(正是因为它是由服务端发起的,所以它能够请求到与它相连而与外网隔离的内部系统)
SSRF攻击的原理:
由于服务端提供了从其他服务器应用获取数据的功能且没有对目标地址做过滤与限制。比如从指定URL地址获取网页文本内容,加载指定地址的图片,下载等等。利用的是服务端的请求伪造。ssrf是利用存在缺陷的web应用作为代理攻击远程和本地的服务器。
SSRF攻击的危害:
扫内网、向内部任意主机的任意端口发送精心构造的Payload、DOS攻击(请求大文件,始终保持连接Keep-Alive Always)、攻击内网的web应用,主要是使用GET参数就可以实现的攻击(比如struts2,sqli等)、利用file协议读取本地文件等。
SSRF攻击的防护:
1,过滤返回信息,验证远程服务器对请求的响应是比较容易的方法。如果web应用是去获取某一种类型的文件。那么在把返回结果展示给用户之前先验证返回的信息是否符合标准。
2, 统一错误信息,避免用户可以根据错误信息来判断远端服务器的端口状态。
3,限制请求的端口为http常用的端口,比如,80,443,8080,8090。
4,黑名单内网ip。避免应用被用来获取获取内网数据,攻击内网。
5,禁用不需要的协议。仅仅允许http和https请求。可以防止类似于file:///,gopher://,ftp:// 等引起的问题。
XXE
XXE:XML External Entity,XXE攻击即外部实体注入攻击。
XXE攻击的原理
XML 中可以通过调⽤实体来请求本地或者远程内容,和远程⽂件保护类似,当服务器解析输入的XML数据时,解析了攻击者伪造的外部实体就尝试了XXE攻击,进而产生敏感文件读取等安全事件的发生。
XXE攻击的危害
读取任意文件、执行系统命令、探测内网端口、攻击内网网站等。
XXE攻击的防护
使用开发语言提供的禁用外部实体的方法、过滤用户提交的XML数据。