中间件(网站搭建平台):apache, iis, tomcat, nginx等。以IIS作粗浅的认识。
IIS就是提供网站服务的一个平台,一个网站在运行过程中必定有一个搭建平台,也就是中间件。
域名IP目录解析涉及的安全问题
在搭建一个网站时,右键某站点➡️属性,可见IP地址栏,自行定义指向的IP地址及端口,点击应用,即可在本地浏览器进行访问。
【主目录➡️本地路径】是网站的存放路径,是访问该网站时对应解析的目录:
真实情况下一般以域名访问,不以IP:Port方式访问。
点击【高级➡️编辑➡️主机头值】输入test001.com。点击确定。域名绑定到网站,可通过test001.com访问(域名需申请)。做本地测试的话可以修改Host文件进行域名:Port方式访问。
此时以域名访问显示正常,再以IP访问则显示:建设中……(指向了网站的本地存放路径的默认文件。)
phpStudy:PHP搭建软件。www.xiaodi8.com 的默认存放路径是phpstudy/PHPTutorial/WWW/blog。可以访问此目录下任意文件(夹)。此时若以IP地址访问,默认存放路径是phpstudy/PHPTutorial/WWW。无法正常显示网页,但可以访问phpstudy/PHPTutorial/WWW/2.txt。
知识点:某些网站搭建时会有上述问题。这种问题会给安全测试带来什么帮助?
目录扫描:对 xiaodi8.com 网站进行敏感文件扫描。只可能扫到/探测到 C:\phpStudy\PHPTutorial\WWW\blog 下文件:
若以IP地址扫描,则可以扫描到上一级目录 C:\phpStudy\PHPTutorial\WWW,发现更多信息:
很多网站会将其源代码备份至此目录(IP访问指向的目录)下。用域名扫描则扫描不到。
很多网站搭建时都会出现这种情况。因为网站都支持IP访问&域名访问,但只有IP访问时是指向本地文件夹的根目录。很多情况下,域名访问的网站就是根目录下的一个文件夹。根目录有更大的机会扫描到更多的信息,如打包起来的备份文件、敏感信息等。
常见文件后缀解析对应安全
在一般的网站搭建平台(中间件)上有一个设置:ISAPI扩展(应用程序扩展)。
扩展名即常说的后缀名/文件格式。文件后缀为.asp时,对应的可执行文件路径是C:\Windows\system32\inetsrv\asp.dll
如果在这里添加扩展名为xiaodi8格式,使其可执行文件路径也指向C:\Windows\system32\inetsrv\asp.dll:
在此目录此网站下放一个后缀名为.xiaodi8的文件,写入ASP后门(中国菜刀)密码设置为x:
再去浏览器访问192.168.131.131:82/x.xiaodi8,打开菜刀尝试连接,连接成功,说明成功植入后门。成功连接,可以访问网站根目录文件夹。
总结:搭建平台上这个应用程序扩展匹配后缀名和对应解析文件。为什么ASP文件能够识别,因为ASP文件的可执行文件路径对应 C:\Windows\system32\inetsrv\asp.dll,若其他后缀也对应这个asp.dll 文件的话,该文件就会以ASP脚本解析格式去解析相应后缀。
访问网站时有时遇到不解析等情况就是网站中间件解析协议设置的问题。
常见安全测试中的安全防护
学校限制外部IP访问、规范访问权限,经常用到这个设置(一般中间件都有):【IIS网站➡️属性➡️目录安全性】
- 身份验证和访问控制:启用匿名访问;用户访问需经过身份验证。
- IP地址和域名限制(最常见):限制哪些IP地址授权访问/拒绝访问。被添加至黑名单后访问网站显示“您未被授权查看该页”。
- 安全通信:访问网站时需要客户端证书,先不讲。
- 启用匿名访问:一般默认勾选。关闭后不支持匿名访问,访问时需要用户名密码。基于用户的限制。必须要有开启IIS的此台计算机的账户及密码才可以访问该网站。
- 用户访问需经过身份验证。
WEB后门与用户及文件权限
菜刀:Web后门管理工具,上文已生成了一个ASP后门并通过菜刀进行连接。
连接上后网站的源码全部可见、可改。电脑的全部文件可见但暂时没有权限操作。
防止此类后门:在【IIS网站属性➡️安全】里把IIS来宾账户的所有权限拒绝,即可屏蔽后门对计算机文件的访问。
这是一个防护技巧,也是安全测试经常碰到的问题。但不是这样设置,而是只拒绝写入权限,通过后门可以看电脑文件但无法写入修改。
类似的安全策略:【IIS网站属性➡️主目录➡️执行权限】默认是【纯脚本】,若选择【无】,则无法(没有权限)执行上传/注入的木马。
一般的防护:把图片目录 Images 下的执行权限设置成【无】,因为图片目录下不会有脚本程序。一般不会在有脚本程序的正常目录下设置【无】,不然的话网站无法正常显示。绕过思路应该是将后门试着放到有执行权限的目录,比如根目录。
基于中间件的简要识别
打开一个网站,抓一个数据包,根据数据包的返回结果就能看出。
Response Headers: 网站的搭建平台和相关信息,其中包括中间件信息。
识别出搭建平台之后,回归到第1天知识点:攻击产生在四个层面(网站源码;操作系统;中间件;数据库),判断出搭建平台后可以手动查阅《Web中间件常见漏洞总结.pdf》对症下药,也可以用相应工具。
基于中间件的安全漏洞
见《Web中间件常见漏洞总结.pdf》
基于中间件的靶场使用
https://vulhub.org/ 一个集成化的基于docker镜像的靶场环境,漏洞多且单一、简单,持续更新。结合《Web中间件常见漏洞总结.pdf》进行练习。
总结
1.搭建平台(中间件)有漏洞。
2.搭建平台(中间件)在网站解析时存在相应安全问题。
3.搭建平台(中间件)上有相应防护手段,有的可以绕过,有的不可以,具体问题具体讨论。
后期渗透过程中,中间件(搭建平台)是必不可少的,它可以是攻击对象。