邮件服务器-邮件系统-邮件技术论坛(BBS)

 找回密码
 会员注册
查看: 54318|回复: 31
打印 上一主题 下一主题

[原创] ★Winwebmail安全详细的设置,避免ASP/ASP.NET跨站攻击危险。★

[复制链接]
跳转到指定楼层
顶楼
发表于 2008-6-5 17:25:58 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
漏洞描述:

IIS启动进程池的默认用户为network service(网络服务)
ASP.NET2.0启动的用户也是network service

对于直接按照winwebmail官方网站那样设置直接给user组权限的,就更不用说了。asp,php都可以完成攻击了。

也就是说,对于没有更改winwebmail进程池启动用户为另一个单独用户的服务器上如果存在asp.net 2.0的问题站点,就可以通过ASP.NET 2.0的程序实现跨站攻击到WINWEBMAIL邮局。

攻击思路:

1,寻找服务器上asp.net 漏洞站点,上传asp.net木马
2,浏览c:\windows目录下的WEMINSTALL.LOG,获得winwebmail安装路径。
3,因为.net 2.0和winwebmail都是用network serivce启动。所以可以直接用木马访问webmail邮局目录。从而访问,修改,popuser.ini.domain.ini,mail,web目录。

防止跨站攻击WINWEBMAIL安全设置详细讲解:

以前安装WINWEBMAIL,通常大家都是参照官方的说明,给Winwebmail目录users组甚至是Everyone可写权限。这样设置基本就能满足winwebmail的运行了。但是对于一些服务器上同时存在有其他asp或者asp.net站点,比如做虚拟主机的服务商。这样设置很容易在另外一些站点被黑后,受到跨站攻击的牵连。

好一点的就将Winwebmail的安装目录改的很复杂来躲避黑客的跨站攻击。

就这一点来讲,我觉得WINWEBMAIL官方对于目录权限的设置其实说的太过简单,有点不负责任的感觉。

下午我仔细分析了WINWEBMAIL的目录安全设置。即使按照一些特殊处理过能够防止ASP跨站攻击的设置,其实依然很容易被人ASP.NET跨站攻击 。实际上经过测试,我没有花太多工夫就跑进了一位协助测试的同志服务器的Winwebmail目录。并且可以随意修改里面的东西了。


下面讲下具体操作流程,

1、安装完WINWEBMAIL,基本的东西不详细说了。以下图片中有一个HOSTGROUP组的权限,如果你的服务器上没有这个组可以忽略。

2、新建立一个USER,属于GUESTS组,如:mail_vistor。(*注:如果使用iis自带的IUSR_XXX来宾用户,图片中用的是默认用户。那么这一步可以省略)。

3、新建立一个USER,属于IIS_WPG组,如:mail_user。

4、打开IIS,新建立一个进程池,命名, 如:mail_process。启动权限用户设置为:mail_user



5、打开IIS,新建立一个站点,指定主文档目录为WINWEBMAIL目录下WEB目录。并指定进程池为mail_process.
在目录安全性,里编辑匿名访问用户为:mail_vistor(或者默认为IUSR_XXX,二个用户选一即可,图片中用的是默认IIS用户)。



6、给安装WINWEBMAIL的盘符根目录比如:E盘,管理员和mail_vistor(或IUSR_XXX)只读权限。

7、给WINWEBMAIL目录IIS_WPG组、mail_vistor以及管理员三者可读写权限。

     添加network service和aspnet
两个用户,权限设置为拒绝访问。


     
添加运行其他运行ASP网站的用户组为拒绝权限,我这里其他所有ASP网站都是在hostgroup用户组里的用户的权限来分别验证的的,我直接将整个组添加权限为:拒绝访问。(通其他ASP的防止跨站的权限设计,我就简单带过。)


winwebmail目录下各用户的权限为:





winwebmail下的web目录权限最终是:



8、重新启动IIS及WINWEBMAIL服务,即可。



这样操作后已经大体封锁了来自除了邮件WEB程序以外的其他asp,asp.net的程序攻击了。目前我测试各方面正常。具体防止WEB目录程序攻击WINWEBMAIL的详细设置,就各人喜欢再继续深入设置,我就不具体讲了。



结束:如果你不是很了解权限的设置,你还可以简单的这样操作,将WINWEBMAIL安装到一个不容易猜解的目录里,比如:E:\XX73C3DA
这种名字的目录。然后备份c:\windows目录下WEMINSTALL.LOG这个文件并删除。(备份的作用,我是怕以后升级winwebmail需要使用这个log文件。具体是否需要没有测试过。我就是通过这个文件找出了测试服务器的具体安装位置的。),但为了避免其他地方可能还暴露出安装位置,建议你还是按照我的教程进行设置一下吧。


如果有什么问题或者设置不足之处欢迎回帖交流或加QQ群(11241732)反馈。

[ 本帖最后由 Freemikej 于 2009-10-18 17:01 编辑 ]

评分

参与人数 1经验积分 +10 技术积分 +10 5D金币 +10 收起 理由
rayer + 10 + 10 + 10

查看全部评分

32
发表于 2011-6-8 12:48:47 | 只看该作者
好帖呀,谢谢版主
31
发表于 2011-3-22 23:09:36 | 只看该作者
阅读了,谢谢了~
30
发表于 2011-3-10 00:08:59 | 只看该作者
支持,需要技术支持,感谢分享哈~
29
发表于 2011-2-2 11:09:30 | 只看该作者
感谢提供,对虚拟主机用户有用
28
 楼主| 发表于 2009-10-18 16:45:48 | 只看该作者
根目录不用给USER组读取权限,运行权限?就更加不必要了。当然给了也不是不可以,如果给了,那就是所有USER组的用户都可以来访问和执行你的根目录下的东西或者程序了。

对于根目录比较安全的权限是只要给三个用户如下权限:
一个是管理员-完全控制权
二个是用来访问winwebmail邮局这个站点的用户-只读权
三个是用来启动winwebmail邮局这个站点的进程池用户-只读权

其实对于一个服务器上没有其他站点只有一个邮局站点,并且没有其他服务了,这样设置没有太大必要。因为本身winwebmail本身站点是否有漏洞没人去深究。只要服务器不被攻陷,站点就相对安全了。
以上设置主要考虑到服务器上存在多个站点,多种服务,尤其存在asp.net站点的时候,考虑到从其他站点尤其是asp.net站点可以跨站攻击到邮局。我曾经帮助过很多天下服务器QQ群里的ISP服务器商们看过他们的服务器设置,大部分都是存在这个设置缺陷的。是完全可以导致所有邮局信息外泄的。

实际上本人就是在用ASP.NET攻击一个服务器商,帮朋友公司从一个ISP服务器上导出了他邮局的所有的用户名和密码以及所有的邮件文件以后才写下这篇设置供大家参考的。

[ 本帖最后由 Freemikej 于 2009-10-18 16:50 编辑 ]
27
发表于 2009-10-18 14:06:11 | 只看该作者
根目录不加user的读取和运行权限根本就不行,无法登陆
26
发表于 2009-10-16 14:02:25 | 只看该作者
SYSTEM组给啥权限?完全?
25
发表于 2008-10-9 17:36:42 | 只看该作者
这样设置权限WEB登入不了,为了做到这个我弄了很久啊
24
发表于 2008-10-8 20:48:34 | 只看该作者
顶一下18楼大兄弟!
您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

小黑屋|手机版|Archiver|邮件技术资讯网

GMT+8, 2026-8-5 05:21

Powered by Discuz! X3.2

© 2001-2016 Comsenz Inc.

本论坛为非盈利中立机构,所有言论属发表者个人意见,不代表本论坛立场。内容所涉及版权和法律相关事宜请参考各自所有者的条款。
如认定侵犯了您权利,请联系我们。本论坛原创内容请联系后再行转载并务必保留我站信息。此声明修改不另行通知,保留最终解释权。
*本论坛会员专属QQ群:邮件技术资讯网会员QQ群
*本论坛会员备用QQ群:邮件技术资讯网备用群

快速回复 返回顶部 返回列表