Marathon 未授权访问
- 配置防火墙,限定可访问的源 ip。例如可以使用 iptables
- 利用 nginx 配置流量转发并设置 basic auth。
低敏感文件泄露
- 删除文件
- 检查配置文件,禁止此文件能被访问
跨站脚本攻击(XSS, Cross Site Script)
(1)漏洞详情
通常指黑客通过“HTML注入”篡改了原有网页,插入恶意脚本,从用户客户端发起的一种攻击。
XSS按效果的不同可以分为3种:
1. 反射型XSS: 页面把攻击者输入的JS脚本
直接回显在页面或源码中,需要诱使用户点击才能成功;
2. 存储型XSS: XSS攻击代码被写入服务器中,由于用户可能会主动浏览被攻击页面,所以存储型XSS危害比较高;
3. Dom XSS: 修改页面的DOM节点形成XSS,严格来讲也可划为反射型XSS,需要具体情况具体分析。
攻击者常利用JS中的alert
函数进行漏洞PoC的演示,旨在证明可执行任意JS。
(2)漏洞危害 【高危-中危】
一般而言,利用XSS漏洞,攻击者实现将恶意js代码在用户的客户端执行,危害分两种:1、窃取用户包含cookie
在内的敏感信息;2、可能通过恶意js代码来实现加关注,发微博,点赞等攻击,如果控制发博内容能造成xss蠕虫攻击。
(3)修复建议
1、对xss漏洞点进行安全过滤或限制参数类型为“整型”,过滤方法可参考如下php函数对xss参数进行输出编码:
htmlentities()
//or
htmlspecialchars()
2、对重要的Cookie字段使用httponly
参数;
3、检查用户可控的输入。对所有的输入点进行严格的检查,过滤或拦截所有不符合当前语境的输入。由于无法预期所有可能的输出点语境,此种方法效果较差;
4、检查所有用户输入的输出点。因为XSS最终攻击是发生在输出点,因此需要分析出用户输入数据的所有输出点的环境,是输入在HTML标签中,还是HTML属性、script标签、事件、CSS位置中,针对不同的输出位置,制定不同的转义或过滤规则;
5、处理富文本。在文章、论坛等需要用到富文本的地方,需要特别注意富文本与XSS的区分,严格禁止所有的危险标签及“事件”,原则上应当使用白名单过滤标签、事件及属性。
SQL注入(SQL Injection)
(1)漏洞详情
SQL注入漏洞是开发人员直接把用户输入的数据带入SQL语句执行,恶意用户进而可以拼接SQL执行语句对数据库安全产生直接威胁。该漏洞被广泛用于非法获取敏感数据和网操纵后台数据库获得数据库和站点控制权,并利用数据库权限进一步控制服务器。
(2)漏洞危害【严重-高危】
导致数据被窃取、更改、删除,甚至执行系统命令
等,进一步导致服务器网站被入侵,写入恶意代码、植入后门等等。
(3)修复建议
1、严格检查用户输入数据。对用户传入的数据类型及内容进行严格的检查。对数据类型检查,如利用ID查询时判断是否为整型,输入邮箱时判断邮箱格式,输入时间、日期等必须严格按照时间、时期格式等;对数据内容进行检查,如严格检测用户提交数据中是否包含敏感字符或字符串,是否匹配某种注入规则,严格转义特殊字符等。可参考使用mysql_real_escape_string函数来过滤用户输入数据防止SQL注入攻击;
2、使用PDO预编译语句。一般来说,防御SQL注入的最佳方式,就是使用预编译语句,绑定变量,但对现有代码的改动量较大;
3、对数据库进行安全配置,以最小的用户权限来执行SQL请求,并将部分高危SQL命令屏蔽来降低SQL注入的危害。
CSRF(跨站点请求伪造)
(1)漏洞详情
跨站点请求伪造(CSRF, Cross Site Request Forgery)。由于后端缺少对前端请求的有效认证,攻击者可利用此漏洞伪造请求进行攻击。
(2)漏洞危害 【高危-中危】
攻击者构造恶意的表单请求,制作成恶意链接让受害者点击,受害者点击后该请求会携带用户身份完成CSRF漏洞攻击,漏洞的成因是后端对前端的请求来源没有进行有效验证遭受攻击后,受害者会请求攻击者构造的表单发微博、点赞,加/取消关注、购买商品、转账、修改资料等操作。
(3)修复建议
1、受攻击场景多是接口请求等操作,前端在请求时应带上请求来源Referer。后端对来源referer进行严格验证,后端验证时应避免使用简单的正则匹配等容易被绕过的方式;
2、添加足够随机的csrf_token并每次更新以供后端验证;
3、验证码是对抗CSRF攻击最有效的方法,但会影响用户的使用体验,并且不是所有的操作都可以添加验证码防护。因此,验证码只能作为辅助验证方法。
SSRF(服务端请求伪造)
(1)漏洞详情
SSRF(Server-Side Request Forgery:服务器端请求伪造) 是一种由攻击者构造形成由服务端发起请求的一个安全漏洞。一般情况下,SSRF攻击的目标是从外网无法访问的内部系统。
(2)漏洞危害【严重-高危】
攻击者可以直接通过SSRF获取内网服务信息,扫描、漏洞利用。
(3)修复建议
1、过滤返回信息,验证远程服务器对请求的响应是比较容易的方法。如果web应用是去获取某一种类型的文件。那么在把返回结果展示给用户之前先验证返回的信息是否符合标准。
2、统一错误信息,避免用户可以根据错误信息来判断远端服务器的端口状态。
3、禁用不需要的协议。仅仅允许http和https请求。可以防止类似于file:///,gopher://,ftp:// 等引起的问题。
JSONP劫持(信息泄露)
(1)漏洞详情
JSONP劫持是一种利用jsonp接口能够跨域的特性,来窃取当前登录用户敏感信息的漏洞
(2)漏洞危害【严重-高危】
攻击者可以利用JSONP劫持漏洞获取用户的敏感信息,比如手机号、邮箱、账号信息等。
(3)修复建议
1、过滤返回信息,不返回敏感数据,比如邮箱、手机号、uid等。
2、做来源referer限制,限制指定白名单来源可以访问,不允许空referer。
转载请注明:SuperIT » 常见安全漏洞修复建议-1