当前位置: 首页 > news >正文

设置NTFS权限以避免通过webshell遍历主机目录(原创)

测试环境:Windows 2003 + IIS6.0 + Access数据库

现在大家做论坛一般都用动网论坛,但动网论坛如果一旦管理员权限被获得的话,会威胁到web主机的安全。关于如何通过动网得到webshell,请参阅我转的一篇文章《动网论坛7.0获得WebShell的分析(转)》
http://blog.csdn.net/starlee1738/archive/2005/01/15/254849.aspx,我通过此法成功上传了ASP站长助手和ASP 探针(上传海阳顶端木马无法运行,因为没权限),但由于主机NTFS权限设置得当,我只能浏览/修改web目录中的内容,而无法遍历其他目录,也就无法发现其他可利用的漏洞,如果各位有什么好方法,还请赐教!

运行上传的asp助手,在浏览其他分区的时候提示“路径未找到”,用asp探针查看发现是因为对分区没有读取权限。



我们知道,匿名访问web使用系统中的“IUSR_主机名”这个用户,只要限制了这个用户的读取权限,即能限制访问者遍历服务器目录,保护服务器数据不被非法访问。

操作步骤:

1. 我的电脑,磁盘安全属性。
2. 首先删除Everyone组。一般在服务器上看见Everyone就要删。
3. 添加IUSR_Hostname用户,对其设置“拒绝读取和运行”权限。如图。



4. 应用。会出现提示,不用理会。
5. 设置完成。

这是非web站点分区的NTFS设置,对存放web站点的分区还要进行额外的设置才可以正常访问。否则在访问网站的时候因为没有运行权限而无法浏览。

假设我的网站放在F:\www下。在按照上述五个步骤设置完F区的NTFS权限后,要进行下面步骤的设置:

1. 进入www目录安全属性。这时可以看到IUSR_hostname这个用户的权限设置为拒绝读取和运行,并且checkbox是灰的,无法修改。
2. 点高级,把下面允许继承的checkbox的勾勾掉,在弹出的提示中选“复制”。



3. 确定。这时你可以看到刚才不可修改的checkbox现在都可以修改了。
4. 更改IUSR_hostname用户权限,改为只允许“读取”。
5. 确定。

至此,所有分区的NTFS设置都已完成。

这时你再把asp探针和asp助手上传到服务器上运行,就会收到权限不足的提示了。

对C盘设置的权限不自动继承,需要对每个文件夹再进行设置拒绝访问权限。Program Files、Documents and Settings和Inetpub这几个文件夹一定要设置。

Windows或Winnt目录一定不要这样设置,否则在运行asp程序时:(动网除外,原因未知。)

如果用ODBC连接的Access数据库,那么会报错:

Microsoft OLE DB Provider for ODBC Drivers 错误 '80004005'
[Microsoft][ODBC Microsoft Access Driver]常见错误 不能打开注册表关键字 'Temporary (volatile) Jet DSN for process 0x1844 Thread 0x1b40 DBC 0x554cc59c Jet'。

如果用OLEDB连接的Acess数据库,会报错:未指定错误。

Windows或Winnt目录的设置如图:“列出文件夹/读取数据”这个不要设置拒绝。



对Windows或Winnt目录这样设置后,用asp助手还是可以浏览到目录的内容,但没有权限打开其中的文件浏览。

另外,如果服务器硬盘这样设置,能用什么方法进一步得到主机权限,还请赐教!!


此文仅是给大家提供一个保护服务器数据的思路,请根据自己的需要进行设置。有不对的地方希望大家指出!

ASP探针:http://www.itlearner.com/aspcheck/
ASP助手6.0:http://www.gxgl.com/?action=soft&module=show&id=4

相关文章:

  • C++程序设计:打印杨辉三角形
  • 如何安装一个安全的动网(转)
  • C++程序设计:字符图形输出(数字三角形)
  • 远程分析IIS设置(转)
  • C++程序设计:字符图形输出(空白三角形)
  • 规律化生活一周
  • C++程序设计:今夕何夕,见此良人(经典题目)
  • DVBBS7.0变量列表
  • C++程序设计:求n个数的最大值、最小值及其出现的位置
  • C++程序设计:逆序数
  • 思量了许久还是决定做游戏
  • C++程序设计:小数化分数的算法与编程实现(经典问题)
  • 一些游戏开发站点
  • C++程序设计:挑棍子(判断线段是否相交的模板)
  • C++程序设计:月历
  • [数据结构]链表的实现在PHP中
  • 【剑指offer】让抽象问题具体化
  • DOM的那些事
  • GDB 调试 Mysql 实战(三)优先队列排序算法中的行记录长度统计是怎么来的(上)...
  • Java程序员幽默爆笑锦集
  • Linux快速复制或删除大量小文件
  • MySQL的数据类型
  • python docx文档转html页面
  • WebSocket使用
  • windows-nginx-https-本地配置
  • 编写高质量JavaScript代码之并发
  • 从零开始学习部署
  • 微信小程序:实现悬浮返回和分享按钮
  • 一天一个设计模式之JS实现——适配器模式
  • 鱼骨图 - 如何绘制?
  • 走向全栈之MongoDB的使用
  • media数据库操作,可以进行增删改查,实现回收站,隐私照片功能 SharedPreferences存储地址:
  • ​用户画像从0到100的构建思路
  • # Apache SeaTunnel 究竟是什么?
  • #每日一题合集#牛客JZ23-JZ33
  • (android 地图实战开发)3 在地图上显示当前位置和自定义银行位置
  • (Git) gitignore基础使用
  • (ISPRS,2023)深度语义-视觉对齐用于zero-shot遥感图像场景分类
  • (阿里巴巴 dubbo,有数据库,可执行 )dubbo zookeeper spring demo
  • (力扣)1314.矩阵区域和
  • (一)基于IDEA的JAVA基础1
  • (转)Linux整合apache和tomcat构建Web服务器
  • (转)VC++中ondraw在什么时候调用的
  • (转)程序员疫苗:代码注入
  • (转)利用ant在Mac 下自动化打包签名Android程序
  • (转载)Google Chrome调试JS
  • .NET WebClient 类下载部分文件会错误?可能是解压缩的锅
  • .Net的C#语言取月份数值对应的MonthName值
  • .NET高级面试指南专题十一【 设计模式介绍,为什么要用设计模式】
  • .net专家(张羿专栏)
  • .sh 的运行
  • :如何用SQL脚本保存存储过程返回的结果集
  • @ConfigurationProperties注解对数据的自动封装
  • @vue/cli 3.x+引入jQuery
  • [Angular] 笔记 16:模板驱动表单 - 选择框与选项