- xxe漏洞原理及防御
a) 原理:文档类型定义(DTD)可定义合法的XML文档构建模块。它使用一系列合法的元素来定义文档的结构。DTD 可被成行地声明于 XML 文档中,也可作为一个外部引用。当允许引用外部实体时,可通过构造恶意的XML内容,导致读取任意文件、执行系统命令、探测内网端口、攻击内网网站等后果。一般的XXE攻击,只有在服务器有回显或者报错的基础上才能使用XXE漏洞来读取服务器端文件,但是也可以通过Blind XXE的方式实现攻击。
b) 防御:
i. 配置XML处理器使用禁用DTD、禁止外部实体解析。
ii. 通过黑名单过滤用户提交的XML数据。 - ssrf漏洞原理及防御
a) 原理:服务器没有进行访问权限设置,使得未授权的用户,可以使用对应的接口,进行内网探测。SSRF可以对外网、服务器所在内网、本地进行端口扫描,攻击运行在内网或本地的应用,或者利用File协议读取本地文件。
b) 防御:
i. 过滤返回的信息
ii. 统一错误信息
iii. 限制请求的端口
iv. 禁止不常用的协议
v. 对DNS Rebinding,考虑使用DNS缓存或者Host白名单 - mysql注入点,目标站直接写入webshell的前提条件
- 需要root权限
- 网站的绝对路径
- 中间件漏洞
- 如何绕waf
a) IIS
i. IIS 6.0 - 后缀解析 /xx.asp;.jpg。服务器默认不解析 ; 号及其后面的内容,相当于截断。
- 目录解析 /xx.asp/xx.jpg (xx.asp目录下任意解析)
- 默认解析 xx.asa xx.cer xx.cdx
- RCE CVE-2017-7269
ii. IIS 7.0-7.5 - 在Fast-CGI开启状态下,在文件路径后加上 /xx.php ,即 xx.jpg/xx.php 会被解析为php文件。
iii. PUT漏洞 - 开启WebDAV
- 拥有来宾用户,且来宾用户拥有上传权限
- 可任意文件上传
iv. 文件名猜解 - IIS 8.0之前的版本支持短文件名猜测的HTTP方法主要包括:DEBUG、OPTIONS、GET、POST、HEAD、TRACE六种,需要安装ASP.NET。而IIS 8.0之后的版本只能通过OPTIONS和TRACE方法猜测成功,但是没有ASP.NET的限制。
- 文件夹名前6位字符带点”.”,扫描程序会认为是文件而不是文件夹,最终出现误报
- 不支持中文文件名
b) Apache
i. 后缀解析 - test.php.x1.x2.x3 ( x1,x2,x3 为没有在 mime.types 文件中定义的文件类型)。Apache 将从右往左开始判断后缀, 若x3为非可识别后缀,则判断x2,直到找到可识别后缀为止,然后对可识别后缀进行解析
ii. .htaccess - 当AllowOverride被启用时,上传启用解析规则的.htaccess
iii. 目录遍历 - 配置 Options +Indexes 时Apache存在目录遍历漏洞。
iv. CVE-2017-15715 - %0A 绕过上传黑名单。
c) Nginx
i. Fast-CGI关闭 - 在Fast-CGI关闭的情况下, Nginx 仍然存在解析漏洞: 在文件路径(xx.jpg)后面加上 %00.php , 即 xx.jpg%00.php 会被当做 php 文件来解析
ii. Fast-CGI开启 - 在Fast-CGI开启状态下,在文件路径后加上 /xx.php ,则 xx.jpg/xx.php 会被解析为php文件
iii. CVE-2013-4547 - a.jpg\x20\x00.php
iv. 配置错误 - 目录穿越
a) 如果配置中存在类似 location /foo { alias /bar/; } 的配置时,/foo…/ 会被解析为 /bar/…/ 从而导致目录穿越的发生。 - 目录遍历
a) 配置中 autoindex on 开启时,Nginx中存在目录遍历漏洞。
d) Tomcat
i. CVE-2017-12615 - PUT方法上传任意文件
- 但限制了jsp后缀的上传,绕过办法:
a) 1.Windows下不允许文件以空格结尾以PUT /a001.jsp%20 HTTP/1.1上传到 Windows会被自动去掉末尾空格
b) 2.Windows NTFS流Put/a001.jsp::$DATA HTTP/1.1
c) 3. /在文件名中是非法的,也会被去除(Linux/Windows)Put/a001.jsp/http:/1.1
ii. CVE-2020-1938 - CVE-2020-1938为Tomcat AJP文件包含漏洞
iii. 弱口令&war远程部署 - 在tomcat8环境下默认进入后台的密码为tomcat/tomcat,未修改造成未授权即可进入后台
iv. CVE-2019-0232 - CVE-2019-0232为Apache Tomcat RCE
v. manager App暴力破解 - 后台密码用base64编码传输,抓包解密即可得到后台密码,也可以进行爆破
e) Weblogic
i. CVE-2017-10271 反序列化漏洞
ii. CVE-2018-2628 反序列化命令执行漏洞
iii. CVE-2018-2894 Weblogic 任意文件上传漏洞
iv. CVE-2020-14882 Weblogic 管理控制台未授权远程命令执行漏洞
v. SSRF Weblogic SSRF漏洞
vi. 弱口令 - 防火墙日志分析
a) 一般是看异常流量,如明显的SQL Payload等,然后根据上下文分析具体行为。 - 流量监测
a) 查看监控设备(如:天眼、态势感知等)
全流量监控设备有很多的功能模块,如:根据源IP,目的IP进行分类查看攻击流量,根据不同的告警类型分类如:SQL注入、跨站脚本攻击、反序列化等;根据告警的危机程度分类,优先查看危急和高危的告警类型
b) 查看数据包(日志分析)
查看数据包中的payload,如:sql注入的流量特征,是否有union联合查询,报错注入的函数,注入需要添加的特殊符号,有没有进行数据库敏感信息查询,或查询数据库的库名,表名,字段名等。
状态码分析:200、404、302、301、500等