网站地图    收藏   

主页 > 后端 > 网站安全 >

Discuz NT 多个版本文件上传漏洞 - 网站安全 - 自学

来源:自学PHP网    时间:2015-04-17 14:11 作者: 阅读:

[导读] 受影响版本:貌似都受影响。漏洞文件:tools/ajax.aspx漏洞分析:这个页面里的ajax请求,都没有进行权限的验证,游客权限就可以调用其中的所有方法,很危险的写法,于是有了下面的漏洞...

受影响版本:貌似都受影响。


漏洞文件:tools/ajax.aspx

 

漏洞分析:这个页面里的ajax请求,都没有进行权限的验证,游客权限就可以调用其中的所有方法,很危险的写法,于是有了下面的漏洞。

 

 

当filename和upload两个参数同时不为空时,取得input的值,并解密生成uid,然后调用UploadTempAvatar(uid)上传头像,继续跟进方法UploadTempAvatar:

\
 

 

在方法内部对上传文件的文件名进行字符串组装,其中uid是我们可以控制的,所以可以通过让uid取值为”test.asp;”,组装后的文件名是avatar_test.asp;.jpg,这样上传后的文件IIS6便会直接执行,得到webshell。

实例演示:

1.      目标站:http://www.xxxxer.net

2.      伪造reference,因为ajax这个页面只对reference进行了验证。

3.      构造input参数的值,因为我们的目标是为uid赋值”test.asp;”,uid为input解密而来,通过默认Passwordkey(位于/config/general.config中),对”test;.asp”加密得到input的值”Jw6IIaYanY7W0695pYVdOA==”。

4.      构造请求参数:

 

\

 

上传成功后会直接把shell地址回显出来,

 

\

 

成功获得webshell:

\


 

不过在实际测试中,有部分不能成功,懒得找原因了,有兴趣的同学继续研究一下吧^.^,截个官网的截图留个念:

 

\



Jannock 的补充说明:

 

其实这个并不通用,Passwordkey在正常安装时会重新生成的。估计你拿的都是用源码安装的吧。不过还有其他办法利用系统的生成。



文章作者:rebeyond 来自:I.S.T.O信息安全团队

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论