WEB漏洞之 - XSS漏洞 (跨站脚本工具)

时间:2021-02-10 22:55:03

什么是XSS
XSS 又叫CSS(Cross site Scripting)跨站脚本工具,常见的WEB漏洞之一,再2013年度OWASP TOP 10 中排名第三

XSS 是指攻击者再网页中嵌入客户端脚本,通常是JS恶意代码,当用户使用浏览器访问被嵌入恶意代码网页时,就会再用户浏览
器上执行。


XSS有什么危害
网络钓鱼,窃取用户Cookise,弹广告刷流量,具备改页面信息,删除文章,获取客户端信息,传播蠕虫


XSS的三种类型
反射型,存储型,Dom型

 

反射型
又称非持久型XSS,最容易出现的一种XSS漏洞

主要用于将恶意脚本附加到URL 地址的参数中,只有当受害者点击这些链接的时候,才会触发恶意JS脚本,特点是只有在用户单
击时触发,而且只执行一次。

 

存储型XSS
在网站上的留言板或者评论处,存放了XSS恶意代码,当用户点击留言板或者评论处,即可触发反射型XSS反馈给攻击者,即可拿
到用户的信息

 

DOM Base XSS
Dom型XSS并不需要服务器解析响应的直接参与触发XSS靠的是浏览器DOM 解析

DOM 型就是JavaScript 中的Document对象HTML 注入。直接浏览器处理

 

常见的XSS防护方法
加CDN 防护, 代码层过滤,数据库层过滤,自己搭建防火墙,还可以开启 HttpOnly 或则 CSP 策略来防护XSS的攻击

 

 

文件上传

WEB漏洞之 - XSS漏洞 (跨站脚本工具)

 

 

 

什么是文件上传

 

Web 应用程序通常会有文件上传功能,发布图片,招聘网站上发布DOC格式简历,只要web应用程序允许上传就有可能存在文件上传漏洞

 

文件上传的校验流程
上传文件, Http POST请求(上传文件),传给WEB服务器,
服务端开始验证检测,判断是否是正常文件,检测后缀,检测内容,判断逻辑
检测不通过直接拉入黑名单。

 

推荐一个测试上传的web
https://GitHub.com/cOnly1/upload-labs 

 

客户端验证   (其实作用不大)
MIME验证
MIME type的缩写为(Multipurpose Internet Mail Extensions)代表互联网媒体类型(Internet media type),MIME使用一个
简单的字符串组成,最初是为了标识邮件Email附件的类型,在html文件中可以使用content-type属性表示,描述了文件类型的
互联网标准。

MIME主类别:
text:用于标准化地表示的文本信息,文本消息可以是多种字符集和或者多种格式的;
Multipart:用于连接消息体的多个部分构成一个消息,这些部分可以是不同类型的数据;
Application:用于传输应用程序数据或者二进制数据;
Message:用于包装一个E-mail消息;
Image:用于传输静态图片数据;
Audio:用于传输音频或者音声数据;
Video:用于传输动态影像数据,可以是与音频编辑在一起的视频数据格式。
MIME验证

 

 

 

如何防护


1.  严格管控上传目录的权限,去掉执行权限,

2.  通过一些开源软件来检测文件。

3.  建立防火墙,开启过滤 

 

 

 


命令执行


什么是命令执行
命令执行漏洞是指攻击者可以随意执行系统命令。属于高危漏洞之一任何脚本语言都可以调用操作系统命令

应用有时需要调用一些执行系统命令的函数,如PHP中的system、exec、shell、popen、proc_popen等,当用户能控制这些函数
中的参数时,就可以见恶意系统命令

拼接到正常名字,从而造成命令执行攻击,这急速命令执行漏洞

 

图示:

 

WEB漏洞之 - XSS漏洞 (跨站脚本工具)