小默

【转】是否能做到上传目录不执行ASP

http://forum.eviloctal.com/thread-13330-1-1.html
----------------------------------
自从04年以来.外面就传言.
将上传目录阻止执行权限.
使得上传的asp文件将不能执行.而上传目录内的图形文件等文件可以正常访问
而在2004/11月的黑客防线上蝴蝶也如是说
"能执行ASP脚本的地方不允许写入文件,能写入文件的地方不允许运行ASP程序"
OK.让我们测试一下这句话能否通过NTFS权限控制来做到

首先我们写一个最简单的ASP程序.我这里用了我自己的一个简单的登陆系统.
里面又asp.有对外引用的部分.有access数据库
我们将权限设置成
administrators  全部
system  全部
然后主要我们将对添加的一个everyone权限来测试.
因为没有其他用户组了.所以iuser将继承everyone组的权限
所以是不是不用everyone用iuser用户是一样的.

首先只打开everyone用户的读取权限.
在高级内显示如下权限
1.列出文件夹/读取数据
2.读取属性
3.读取扩展属性
打开测试页面登陆.正常

然后高级内只保留
1.列出文件夹/读取数据
打开测试页面.出现ACL登陆框了.看来权限不足

再接下来我们测试传说中的取消ASP执行权限.
因为只读情况下已经没有执行权限了.
我们现在特别将执行权限取消
1.遍历文件夹/运行文件 -- 拒绝
2.列出文件夹/读取数据 -- 允许
3.读取属性 -- 允许
4.读取扩展属性 -- 允许
现在打开ASP测试页面.仍旧可以正常访问

由于asp文件对于iis来说只是一个文本文件
IIS读入asp文件内容后交由asp.dll进行解析
所以asp运行根本和windows应用程序不同
完全不需要执行权限.只需要只读权限
所以不允许asp运行,虽然可以做到,就是取消读权限
但是取消读权限之后.整个目录内所有文件都将无法通过iis读取
包括图片文件等等.那么上传目录不允许asp执行.等于是上传的所有内容都不能读
这种设置将导致上传内容毫无意义.

最后我们来看这句话
"能执行ASP脚本的地方不允许写入文件,能写入文件的地方不允许运行ASP程序"
前半句我们可以做到.对asp目录只读权限.
后半句虽然严格来说也可以做到.对上传目录取消读权限
但是这样将导致上传任何文件都无法访问.失去了上传文件功能的意义了.

本人测试环境
windows2003 中文企业版VLK SP1
IIS 6
---------------------------------------------------------------------
写权限依靠NTFS权限设置,执行asp依靠IIS设置
-------------------------------------------------------------------

posted on 2010-04-30 11:05 小默 阅读(425) 评论(0)  编辑 收藏 引用 所属分类: Security


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


导航

统计

留言簿(13)

随笔分类(287)

随笔档案(289)

漏洞

搜索

积分与排名

最新评论

阅读排行榜