xss文件上传命令执行

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了xss文件上传命令执行相关的知识,希望对你有一定的参考价值。

什么是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 应用程序通常会有文件上传功能,发布图片,招聘网站上发布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等,当用户能控制这些函数
中的参数时,就可以见恶意系统命令

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

以上是关于xss文件上传命令执行的主要内容,如果未能解决你的问题,请参考以下文章

XSS姿势——文件上传XSS

漏洞利用:验证绕过,XSS利用,Cookic盗用,文件上传

DocCms存储型XSS+后台任意文件下载上传+目录删除+sql执行(有条件可getshell)

WAF——针对Web应用发起的攻击,包括但不限于以下攻击类型:SQL注入XSS跨站Webshell上传命令注入非法HTTP协议请求非授权文件访问等

.htaccess利用方式

极致CMS两处漏洞复现/存储xss/文件上传Getshell