.问题:检测到目标URL存在跨站漏洞
跨站脚本攻击(也称为XSS)指利用网站漏洞从用户那里恶意盗取信息。用户在浏览网站、使用即时通讯软件、甚至在阅读电子邮件时,通常会点击其中的链接。攻击者通过在链接中插入恶意代码,就能够盗取用户信息或在终端用户系统上执行恶意代码。
解决办法:
推荐措施包括实施安全编程技术确保正确过滤用户提供的数据,并编码所有用户提供的数据以防以可执行的格式向终端用户发送注入的脚本。
PHP: string htmlspecialchars (string string [, int quote_style])
ASP / ASP.NET: Server.HTMLEncode (strHTML String)
定义允许的内容。确保web应用对所有输入参数(cookies、头、查询字符串、表单、隐藏字段等)验证严格定义的预期结果。
检查POST和GET请求的响应,确保返回内容是预期的且有效。
CI框架 - $this->input->input_stream('key', TRUE);
$config['global_xss_filtering'] = TRUE;
2.问题:检测到目标URL存在框架注入漏洞
攻击者有可能注入含有恶意内容的 frame 或 iframe标记。如果用户不够谨慎,就有可能浏览该标记,却意识不到自己会离开原始站点而进入恶意的站点。之后,攻击者便可以诱导用户再次登录,然后获取其登录凭证。
解决办法:
建议过滤出所有以下字符:
[1] |(竖线符号)
[2] & (& 符号)
[3];(分号)
[4] $(美元符号)
[5] %(百分比符号)
[6] @(at符号)
[7] '(单引号)
[8] "(引号)
[9] \'(反斜杠转义单引号)
[10] \"(反斜杠转义引号)
[11] <>(尖括号)
[12] ()(括号)
[13] +(加号)
[14] CR(回车符,ASCII 0x0d)
[15] LF(换行,ASCII 0x0a)
[16] ,(逗号)
[17] \(反斜杠)
3.问题:检测到目标URL存在链接注入漏洞
“链接注入”是修改站点内容的行为,其方式为将外部站点的URL嵌入其中,或将有易受攻击的站点中的脚本 的URL嵌入其中。将URL嵌入易受攻击的站点中,攻击者便能够以它为平台来启动对其他站点的攻击,以及攻击这个易受攻击的站点本身。
在这些可能的攻击中,有些需要用户在攻击期间登录站点。攻击者从这一易受攻击的站点本身启动这些攻击,成功的机会比较大,因为用户登录的可能性更大。
“链接注入”漏洞是用户输入清理不充分的结果,清理结果会在稍后的站点响应中返回给用户。攻击者能够将危险字符注入响应中,便能够嵌入URL及其他可能的内容修改。
解决办法和上一个一致。
4.问题:检测到目标服务器启用了TRACE方法
TRACE方法是HTTP(超文本传输)协议定义的一种协议调试方法,该方法使得服务器原样返回任何客户端请求的内容。
启用TRACE方法存在如下风险:
1、恶意攻击者可以通过TRACE方法返回的信息了解到网站前端的某些信息,如缓存服务器等,从而为进一步的攻击提供便利。
2、恶意攻击者可以通过TRACE方法进行XSS攻击。
3、即使网站对关键页面启用了HttpOnly头标记和禁止脚本读取cookie信息,但是通过TRACE方法恶意攻击者还是可以绕过这个限制读取到cookie信息。
解决办法:
1、2.0.55以上的Apache服务器,在httpd.conf的尾部添加:TraceEnable off。
2、如果使用的是Apache:
- 确认rewrite模块激活(httpd.conf,下面一行前面没有#):
LoadModule rewrite_module modules/mod_rewrite.so
- 在各虚拟主机的配置文件里添加如下语句:
RewriteEngine On
RewriteCond %{REQUEST_METHOD} ^TRACE
RewriteRule .* - [F]
针对任意HTTP Server,建立一个连接,以很低的速度发包,并保持住这个连接不断开。如果客户端持续建立这样的连接,那么服务器上可用的连接池将很快被占满,从而导致拒绝服务攻击。
解决办法:
限制web服务器的HTTP头部传输的最大许可时间。
Nginx配置:client_header_timeout
为了方便的获得网站域名,开发人员一般依赖于HTTP Host header。例如,在php里用_SERVER["HTTP_HOST"]。但是这个header是不可信赖的,如果应用程序没有对host header值进行处理,就有可能造成恶意代码的传入。
解决办法:
web应用程序应该使用SERVER_NAME而不是host header。
在Apache和Nginx里可以通过设置一个虚拟机来记录所有的非法host header。在Nginx里还可以通过指定一个SERVER_NAME名单,Apache也可以通过指定一个SERVER_NAME名单并开启UseCanonicalName选项。
KindEditor是一套开源的HTML可视化编辑器,主要用于让用户在网站上获得所见即所得编辑效果,兼容IE、Firefox、Chrome、Safari、Opera等主流浏览器
KindEditor目录/php/file_manager_json.php,
存在遍历目录漏洞。
解决办法:
厂商补丁:
KindEditor
----------------
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:
http://www.kindsoft.net/
自动目录列表/索引是Web服务器的一个功能,如果请求目录中不存在常规文件(index.html,home.html,default.htm),web服务器会枚举该目录下所有的文件。当用户请求网站的主页时,通常输入http://www.example.com,使用域名并且不包含特定的文件。当web服务器处理该请求时,会搜索根目录下的默认文件并返回给客户端。如果默认页面不存在,web服务器会生成目录索引并返回给客户端。
通过返回的目录索引信息攻击者可以获得当前目录下的文件列表,从而根据文件中可能存在的漏洞攻击服务器。
解决办法:
对于apache服务器,在apache配置文件httpd.conf中,从Options中删除Indexes.
对于IIS服务器,禁用目录浏览属性
会话cookie中缺少HttpOnly属性会导致攻击者可以通过程序(JS脚本、Applet等)获取到用户的cookie信息,造成用户cookie信息泄露,增加攻击者的跨站脚本攻击威胁。
HttpOnly是微软对cookie做的扩展,该值指定cookie是否可通过客户端脚本访问。Microsoft Internet Explorer 版本 6 Service Pack 1和更高版本支持cookie属性HttpOnly。
如果在Cookie中没有设置HttpOnly属性为true,可能导致Cookie被窃取。窃取的Cookie可以包含标识站点用户的敏感信息,如ASP.NET会话ID或Forms身份验证票证,攻击者可以重播窃取的Cookie,以便伪装成用户或获取敏感信息,进行跨站脚本攻击等。
如果在Cookie中设置HttpOnly属性为true,兼容浏览器接收到HttpOnly cookie,那么客户端通过程序(JS脚本、Applet等)将无法读取到Cookie信息,这将有助于缓解跨站点脚本威胁。
解决办法:
向所有会话cookie中添加“HttpOnly”属性。 Php.ini session.cookie_httponly=
10.问题:发现目标存在永久性Cookie
发现目标存在永久性Cookie。这可能使攻击者通过其他方式获得用户的会话凭证,这个时候,例如利用xss漏洞获得Cookie或者Session劫持就很有效了,具体分析应用程序的认证,然后使用某些技巧,甚至可以即使对方退出程序也一样永久性获得对方的身份,在未来很长时间甚至永久的控制账户。
解决办法:
不要设置cookie为永久性的,修改cookie的属性expires的值,将cookie在会话关闭时则无效;或者一段时间内,过期后无效。
CI 配置文件 application/config/config.php 关于SESSION COOKIE的配置参数
11.问题:检测到目标源码中可能存在用户名或者密码信息泄露
检测到目标站点的源码信息中可能存在用户名或者密码此类的敏感信息,从而可能造成用户或者站点的敏感信息泄露。如果用户名或者密码信息真实存在,那么攻击者便可以利用此信息,对目标站点进行进一步有效的攻击。
由于该插件使用模式匹配方式检测,可能会出现误报,需要人工进行进一步核实。
解决办法:
删除此类文件或限制此类文件的访问权限。
12.问题: 检测到错误页面web应用服务器版本信息泄露
Web服务器未能正确处理异常请求导致Web服务器版本信息泄露,攻击者收集到服务器信息后可进行进一步针对性攻击。
解决办法:
临时修复建议如下:
1、关闭web服务器错误提示。
2、关闭运行平台的错误提示。
3、建立错误机制,不要把真实的错误反馈给访问者。
CI application/config/database.php 设置debug错误信息
13.问题:检测到目标网站存在上传下载相关的目录和文件
检测到目标网站存在上传下载相关的目录和文件。上传目录一般具有可写权限。攻击者可以预测文件上传的路径,便于和目标站点的其他漏洞攻击结合攻击目标服务器。
解决办法:
检查此类目录的访问权限。如果不需要这些目录,建议删除。
14.问题:检测到管理后台登陆入口
检查到目标应用的后台登陆入口。管理员应用程序一般用于网站的后台管理,具有全部的权限。这些应用程序可能包含一些敏感信息或具有较低的安全保护,攻击者可以通过该文件获取敏感信息或者进入网站后台,进行恶意操作。
解决办法:
加强访问此类文件的认证和使用安全。
如果不需要此类文件,请删除。
修改为不可预测的文件名。
15.问题: 检测到目标网站存在无效链接
无效链接是指存在于页面中,但其指向的资源已经不存在。
本漏洞属于Web应用安全常见漏洞。
16.问题:检测到目标URL存在电子邮件地址模式
Spambot 搜寻因特网站点,开始查找电子邮件地址来构建发送自发电子邮件(垃圾邮件)的邮件列表。
如果检测到含有一或多个电子邮件地址的响应,可供利用以发送垃圾邮件。
而且,找到的电子邮件地址也可能是专用电子邮件地址,对于一般大众应是不可访问的。
解决办法:
从 Web 站点中除去任何电子邮件地址,使恶意的用户无从利用。
17.问题:检测到目标服务器上存在web应用默认目录
web应用架构中的目录都采用常见的目录名。如图片目录images,javascript目录js,不同的目录潜在的危险是不同的。攻击者一般利用常见目录中可能包含的敏感文件获取敏感信息。
本漏洞属于Web应用安全常见漏洞。