【检测工具】奇安信CVE-2020-0796快速扫描检测工具使用手册

奇安信推出的CVE-2020-0796漏洞快速扫描检测工具,支持IP段批量扫描,可迅速定位局域网内存在该高危漏洞的终端设备。通过命令行输入目标IP或IP范围即可获得检测结果,帮助用户快速采取措施修复漏洞。

奇安信 CVE-2020-0796 漏洞快速扫描检测工具是奇安信公司针对“Microsoft SMBv3 远程代码执行漏洞 CVE-2020-0796”推出的一款远程扫描工具。

 

一. 工具说明:

支持IP段批量扫描检测“CVE-2020-0796”漏洞功能。适合对局域网全网段扫描,以快速找到局域网内存在该漏洞的全部终端设备。

 

二、文件信息:

文件下载地址:http://dl.qianxin.com/skylar6/CVE-2020-0796scanner.zip

版本号:1.0.0.1001

MD5: AA007E57DAAF2D64247FC41EA8A997F4

SHA1: 15B49C05066F5894D254FDD5B3DB126B9D1D2AB9

SHA256: 067B6E17E5F3D9EC070FEF304B57A3F4F7446356231179C573D004AA931262A3

 

三、使用说明:

1.下载文件进行解压。

2.使用win+R快捷键或开始菜单选择“运行”,输入cmd。调起命令行工具。

 

3.在命令行工具,输入:快速扫描检测工具的完整路径。回车后根据提示,输入IP1-IP2(或单个IP)可以得到结果,详见如下示例:

C:\Users\qdy>C:\Users\qdy\Desktop\CVE-2020-0796-Scanner.exe

请输入ip或ip范围:192.168.0.2-192.168.0.254

192.168.0.2未发现漏洞(Not vulnerable)

192.168.0.3 有漏洞(Vulnerable)

192.168.0.4 未发现设备(No Client)

 

以上结果表示:

有漏洞(Vulnerable)-代表检测出漏洞。

未发现漏洞(Not vulnerable)-代表未发现漏洞。

发现设备(No Client)-代表网络故障或不存在该网络设备。

 

三、修复“CVE-2020-0796”漏洞

如果存在漏洞建议安装奇安信天擎终端安全管理系统,使用漏洞修复功能尽快打补丁。

 

四、相关链接:

漏洞解释页面:

https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/adv200005

 

微软补丁相关页面:

https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/CVE-2020-0796

### JavaScript劫持漏洞的修复方法 JavaScript劫持是一种利用JavaScript特性来窃取用户敏感信息的安全漏洞,通常与跨域请求和同源策略相关。奇安信扫描报告中提到的“输入验证:JavaScript劫持”中危缺陷,主要涉及前端脚本在处理用户输入或跨域数据时的安全性问题。以下是针对该漏洞的修复方法。 #### 1. 避免直接执行用户输入内容 确保用户提交的数据不会被直接作为JavaScript代码执行。对于动态生成的脚本内容,应进行严格的过滤和转义处理。例如,在将用户输入嵌入到JavaScript代码块中时,应使用安全的编码方式,如HTML实体编码或JSON序列化。 ```javascript // 不安全的做法 const userInput = `<script>alert('xss')</script>`; document.write(`<div>${userInput}</div>`); // 安全的做法 function escapeHtml(str) { return str.replace(/[&<>"'`]/g, function (match) { return ({ '&': '&', '<': '<', '>': '>', '"': '"', "'": ''', '`': '`' }[match]); }); } const safeInput = escapeHtml(userInput); document.write(`<div>${safeInput}</div>`); ``` #### 2. 使用CSP(内容安全策略) 内容安全策略(Content Security Policy, CSP)是一种有效的防御机制,可以防止未经授权的脚本执行。通过设置HTTP头`Content-Security-Policy`,限制页面中只能加载指定来源的脚本,并禁止内联脚本的执行。 ```http Content-Security-Policy: script-src 'self' https://trusted-cdn.com; ``` 上述策略将仅允许加载当前域和`https://trusted-cdn.com`中的脚本文件,禁止其他来源的脚本执行。 #### 3. 避免使用`__defineSetter__`等危险方法 JavaScript劫持常通过重写`Object`的`__defineSetter__`方法来实现钩子,从而窃取敏感数据。为了避免此类攻击,应避免使用这些危险的JavaScript特性,并使用现代的替代方案,如`Object.defineProperty`或`Proxy`。 ```javascript // 不安全的做法 Object.prototype.__defineSetter__('secretData', function (value) { console.log('Data intercepted:', value); }); // 安全的做法 Object.defineProperty(Object.prototype, 'secretData', { value: 'sensitive info', configurable: false, writable: false, enumerable: false }); ``` #### 4. 对跨域响应数据进行封装 由于JavaScript劫持常利用跨域请求返回的数据结构(如数组),建议在服务器端对响应数据进行封装,避免直接返回纯数组或JSON对象。例如,返回数据时可以添加一个非数组结构的包装层,防止浏览器将其当作脚本执行。 ```json // 不安全的响应格式 ["sensitive_data"] // 安全的响应格式 { "data": ["sensitive_data"] } ``` #### 5. 设置合适的MIME类型 确保服务器返回的JavaScript资源使用正确的MIME类型(如`application/javascript`)。如果服务器返回的数据被浏览器误认为是脚本,可能会导致意外执行。 #### 6. 使用JSONP时进行严格校验 JSONP(JSON with Padding)是一种常见的跨域通信方式,但容易受到JavaScript劫持攻击。为避免风险,应在服务器端对接收到的回调函数名称进行严格校验,仅允许白名单中的函数名执行。 ```javascript // 客户端请求示例 const script = document.createElement('script'); script.src = 'https://api.example.com/data?callback=handleData'; document.body.appendChild(script); // 服务器端校验 if (whitelist.includes(callbackName)) { res.send(`${callbackName}(${JSON.stringify(data)})`); } else { res.status(400).send('Invalid callback'); } ``` #### 7. 对敏感数据进行加密或令牌化 对于需要通过JavaScript传输的敏感数据,建议在服务器端进行加密或使用令牌替代真实数据。前端仅处理加密后的数据或令牌,避免直接暴露敏感信息。 #### 8. 使用现代浏览器安全特性 现代浏览器提供了多种安全特性来防范JavaScript劫持,如`SameSite`属性、`X-Content-Type-Options: nosniff`等。确保在服务器响应头中启用这些特性,以增强安全性。 ```http X-Content-Type-Options: nosniff X-Frame-Options: DENY ``` #### 9. 定期更新依赖库和框架 确保使用的JavaScript库和框架保持最新版本,及时修复已知的安全漏洞。许多现代框架(如React、Vue)内置了安全机制,能够有效防止JavaScript劫持等攻击。 ---
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值