---
url: "https://pay.weixin.qq.com/doc/v3/partner/4013059668.md"
title: "系统漏洞检测及修复"
doc_id: 4013059668
---

>更新时间：2025.03.21

系统漏洞包括操作系统本身的安全漏洞，以及运行在操作系统纸上的应用程序（例如Apache、Nginx、MySQL）的安全漏洞。

对于部署在腾讯服务器上的开发者应用，腾讯后台将对腾讯服务器进行安全漏洞扫描，可检测出包括Apache、Nginx、MySQL等的常见安全漏洞。

下面是漏洞的定义，检测方法以及修复方案。



## 1. Apache

### 1.1 UserDir漏洞

名称：Apache UserDir 漏洞

描述：早期版本的Apache默认会开启UserDir，这个无关功能会泄露主机的账户名，也可能由于配置不当导致敏感文件被下载。

检测方法：在浏览器里输入http://ip/~root ，若目录存在（即HTTP状态码返回403），则说明UserDir开启。

如下图所示：

![](https://gtimg.wechatpay.cn/resource/xres/mmpaydoc/static/img/362c141195057fe518596d5684b0629b.png)

修复方案：

1. 在Apache配置文件中取消UserDir，可能遇到的两种情况：

   （1）注释掉以下三行，然后重启Apache：

   ![](https://gtimg.wechatpay.cn/resource/xres/mmpaydoc/static/img/d3e36f8bfe03cdcfa2a458e23e88f4ac.png)

   （2）如果配置文件中没有上图中所示的三行，则添加（或修改）一行配置：UserDir disable，然后重启Apache

2. 升级到高版本的Apache（2.1.4及以上版本默认不开启UserDir）


### 1.2 目录浏览漏洞

名称：Apache 目录浏览漏洞

描述：Apache默认配置时允许目录浏览。如果目录下没有索引文件，则会出现目录浏览，导致文件信息泄露。

检测方法：直接访问目录，如果能看到目录下的文件信息，则说明存在目录浏览漏洞。 修复方案：

在Apache配置文件中，将目录配置中的“Indexes”删除，或者改为“-Indexes”，如下图所示：

![](https://gtimg.wechatpay.cn/resource/xres/mmpaydoc/static/img/75634f4d8cf4e929325ee63c7350a7c2.png)

### 1.3 默认页面泄露漏洞

名称：Apache 默认页面泄露漏洞

描述：Apache在安装后存在默认目录/icons/、/manual/

检测方法：在浏览器里输入http://IP/icons/，http://IP/manual/，如果能访问，则说明存在默认页面泄露漏洞。

如下图所示：

![](https://gtimg.wechatpay.cn/resource/xres/mmpaydoc/static/img/e501e3a1ff6c9a21981bb4d7d9186cec.png)

修复方案：

1. 对于Apache2，注释掉Apache配置文件中的目录配置中的以下两行：

   Alias /icons/ "/usr/share/apache2/icons/"

   AliasMatch ^/manual(?:/(?:de\|en\|es\|fr\|ja\|ko\|ru))?(/.\*)?$ "/usr/share/apache2/manual$1"

2. 或者删除配置文件中的icons、manual两个目录。


## 2. QHTTP或者其他Web Server

### 2.1 404页面XSS漏洞

名称：QHTTP 404 页面XSS漏洞

描述：低版本的QHTTP在返回404页面时，未对URL进行编码，导致出现XSS漏洞。

检测方法：在浏览器里输入http://ip/xxx.xxx?a=<script>alert(0)</script> ，若出现如下弹框，则说明存在XSS漏洞。

![](https://gtimg.wechatpay.cn/resource/xres/mmpaydoc/static/img/57f282b57f90074c0297dae6bb7e00d9.png)

修复方案：升级QHTTP到2.1及以上版本。升级版本可能带来性能问题，开发人员需要进行相关的性能测试。

### 2.2 任意文件读取漏洞

名称：任意文件读取漏洞

描述：低版本的Web Server在处理请求时存在漏洞，会泄露服务器上任意文件内容。

检测方法：在浏览器里输入http://ip/../../../../../etc/passwd，如果能访问，则说明存在任意文件读取漏洞。 修复方案：如果使用QHTTP，请升级QHTTP到2.1及以上版本。升级版本可能带来性能问题，开发人员需要进行相关的性能测试。

## 3. Tomcat

### 3.1 Tomcat默认管理后台漏洞

名称：Tomcat默认管理后台漏洞

描述：Tomcat在安装后默认能访问到后台管理登录页面。

检测方法：在浏览器里输入http://ip/manager/html ，若出现如下弹框，则说明存在Tomcat默认管理后台漏洞。

![](https://gtimg.wechatpay.cn/resource/xres/mmpaydoc/static/img/498230d52ce6f6eb2f0b3f4608c21b53.png)

修复方案：删除tomcat安装目录下webapps下的manager目录。

### 3.2 Tomcat默认页面泄露漏洞

名称：Tomcat默认页面泄露漏洞

描述：Tomcat在安装后存在默认页面。

检测方法：直接访问Tomcat的默认页面，若出现如下页面，则说明存在默认页面泄露漏洞。

![](https://gtimg.wechatpay.cn/resource/xres/mmpaydoc/static/img/93ae990d822c4b9900fb17c3aaf62353.png)

修复方案：删除这些与运营环境无关的目录。

## 4. Nginx

### 4.1 远程溢出漏洞

名称：Nginx远程溢出漏洞

描述：低版本的nginx存在远程溢出漏洞（详见 [http://www.kb.cert.org/vuls/id/180065](http://www.kb.cert.org/vuls/id/180065) 的说明）。

检测方法：0.8.15, 0.7.62, 0.6.39, 0.5.38以下版本均存在此漏洞。修复方案：升级nginx到0.8.15+/0.7.62+/0.6.39+/0.5.38+以上，或者安装官方补丁（ [http://nginx.org/download/patch.180065.txt](http://nginx.org/download/patch.180065.txt)）。

注：安装补丁后，Nginx的版本号不会变，因此腾讯安全扫描系统可能仍然会发安全漏洞告警。

### 4.2 目录浏览漏洞

名称：Nginx目录浏览漏洞

描述：如果开启nginx的目录浏览，会泄露目录下的文件信息。

检测方法：直接访问目录，如果能看到目录下的文件信息，则说明存在目录浏览漏洞。

修复方案：不要启用nginx的目录浏览。

## 5. MySQL

### 5.1 空口令/弱口令漏洞

名称：MySQL空口令/弱口令漏洞

描述：MySQL服务器未设置root账号口令或者某个账号使用了简单的口令，导致可以远程不使用口令连接或者很容易猜测到账号口令。

检测方法：使用MySQL客户端以空口令登录或者账号/口令形式进行猜解，如果能够登录，则表示存在MySQL空口令/弱口令漏洞。如下图所示：

![](https://gtimg.wechatpay.cn/resource/xres/mmpaydoc/static/img/b8e9f0aa491092695b2efe8a416dd05c.png)

修复方案：在MySQL中为账号加一个安全的口令。一个安全的口令应该包含以下四项中的三项：

（1）大写字母

（2）小写字母

（3）特殊字符

（4）数字

## 6. FTP

### 6.1 FTP匿名登录漏洞

名称：FTP匿名登录漏洞

描述：FTP Server允许匿名登录（使用ftp或者anonymous用户，密码为空），可能会泄露一些敏感信息。

检测方法：FTP登录时使用anonymous/ftp账户，如果登录成功，则表示存在FTP匿名登录漏洞。

修复方案：配置FTP Server为禁止匿名登录。以vsftp2.2.0为例，需按照如下说明修改配置文件：

（1）将anonymous\_enable值改为为NO（如果没有这一行，加上anonymous\_enable=NO即可）。

（2）添加local\_enable=YES（开启本地用户访问）。

## 7. Oracle

### 7.1 空口令漏洞

名称：Oracle空口令漏洞

描述：Oracle服务器未设置管理账号口令，导致可以远程不使用口令控制Oracle Server。

检测方法：使用Oracle客户端以空口令登录，如果能够登录，则表示存在Oracle空口令漏洞。

修复方案：在MySQL中为账号加一个安全的口令。一个安全的口令应该包含以下四项中的三项：

（1）大写字母

（2）小写字母

（3）特殊字符

（4）数字

## 8. PHPMyAdmin

### 8.1 空口令漏洞

名称：PHPMyAdmin空口令漏洞

描述：PHPMyAdmin没有设置口令，任何人都可以控制数据库。

检测方法：访问http://IP/PHPMyAdmin，如果能够访问，则表示存在PHPMyAdmin空口令漏洞。

修复方案：在PHPMyAdmin中为账号加一个安全的口令。一个安全的口令应该包含以下四项中的三项：

（1）大写字母

（2）小写字母

（3）特殊字符

（4）数字

## 9. Linux

### 9.1 默认口令漏洞

名称：默认口令漏洞

描述：初始密码需要经常更改，否则可能导致账号被他人利用。

'修复方案：经常修改密码，且密码应该遵循强密码原则，至少包含以下四项中的三项：

（1）大写字母

（2）小写字母

（3）特殊字符

（4）数字

### 9.2 Samba任意用户访问漏洞

名称：Samba任意用户访问漏洞

描述：在配置Samba Server的时候，未进行用户身份进行控制，导致任何人可以访问。

检测方法：以SMB协议连接服务器，如果可以访问，则表示存在Samba任意用户访问漏洞。如下图所示：

![](https://gtimg.wechatpay.cn/resource/xres/mmpaydoc/static/img/71c65c88f5b59b587a1dc748012eeac4.png)

修复方案：为Samba Server添加一个安全的口令。一个安全的口令应该包含以下四项中的三项：

（1）大写字母

（2）小写字母

（3）特殊字符

（4）数字

### 9.3 高危端口/服务开放漏洞

名称：高危端口/服务开放漏洞

描述：

1. 高危端口：


（1）关于CVM对外提供服务的外网端口：

当CVM以域名：外网端口方式提供外网服务时，需要将CVM和域名以及外网端口绑定，能够绑定的外网端口为80，443，843，8000 - 8010。外网访问CVM时只能访问CVM的上述外网端口。

除这些默认开通的端口以外的其他端口都属于高危端口，可能带来安全隐患，不予开通。

（2）关于CVM访问外网的端口：

如果需要访问外网的IP：端口，需要先将CVM和域名绑定，然后提交外网：IP端口需求，符合接入要求后由腾讯人工操作开通。

1. 高危服务：


目前以下服务属于高危服务，禁止对外开放，不能申请：

SSH，Telnet，X-windows，Rlogin，ms-rpc，SNMP， FTP，TFTP，RPC，MS-RPC，NetBios，MS-SMB，MS-SQL，MYSQL, memcache，proxy类服务（http-proxy, ftp-proxy，ccproxy-http）， rsync，nfs 。

修复方案：禁止对外使用高危服务。CVM访问外网的端口，使用前需申请。

未通过申请或审批开放高危端口/服务属于一级违规，将受到相应处罚。