[TOC]
内容均来自互联网,风险等级根据实际情况定义
通用建议
1、建立和完善一套有效的安全管理制度,对网站的日常维护和使用进行规范。
2、定期对网站及应用系统进行全面安全检查,保障系统安全运行,如有条件,可聘请第三方专业安全服务公司协助进行。
3、定期对相关管理人员和技术人员进行安全培训,提高安全技术能力和实际操作能力。
4、采用专业的Web安全防护产品,可以在不修改网站本身的情况下对大多数的Web攻击起到有效的阻断作用。
sql注入
风险等级:高危
1.漏洞描述**
SQL注入产生的主要原因是大部分程序员在编写代码的时候,没有对用户输入数据的合法性进行判断,导致Web程序代码中对于用户提交的参数未做过滤就直接放到SQL语句中执行,导致参数中的特殊字符打破了SQL语句原有逻辑,黑客可以利用该漏洞执行任意SQL语句,造成大量敏感数据泄露,修改数据内容,造成网页篡改,或者直接删除数据库破坏数据,造成系统瘫痪。
2.解决建议
1)使用参数化查询,对进入数据库中的语句进行转义处理,数据类型确定,编码统一,做好过滤防护工作,避免网站显示SQL错误信息。
2)部署Web应用防火墙;(设备层)
3)对数据库操作进行监控。(数据库层)
3.漏洞危害:
- 机密数据被窃取;
- 核心业务数据被篡改;
- 网页被篡改;
- 数据库所在服务器被攻击从而变为傀儡主机,导致局域网(内网)被入侵。
xss跨站
风险等级:高危
1.漏洞描述
跨站脚本攻击(也称为XSS)指恶意攻击往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意攻击用户的特殊目的。
反射性xss:
攻击者向有XSS漏洞的网站中输入(传入)恶意的HTML代码,当其它用户浏览该网站时,这段HTML代码会自动执行,从而达到攻击的目的。如,盗取用户Cookie、破坏页面结构、重定向到其它网站等。
存储型xss:
存储型xss出现在允许用户提交并往数据库写数据的地方,此漏洞由于未正确过滤用户输入参数,导致恶意数据利用当前用户权限进行任意操作,如劫持用户浏览器、捕获用户敏感信息、伪装成Web应用。
2.解决建议
1)确保web应用对所有输入参数(cookies、头、查询字符串、表单、隐藏字段等)验证严格定义的预期结果。
2)检查POST和GET请求的响应,确保返回内容是预期的且有效。
3)对所有输入输出做限制,避免出现如script,iframe等字样,不仅在客户端做验证与过滤,服务端更加需要验证和过滤,并且统一编码格式,做好转义处理。
链接注入
风险等级:中危
1.漏洞描述
“链接注入”是修改站点内容的行为,其方式为将外部站点的URL嵌入其中,或将有易受攻击的站点中的脚本的URL嵌入其中。将URL嵌入易受攻击的站点中,攻击者便能够以它为平台来启动对其他站点的攻击,以及攻击这个易受攻击的站点本身。
2.漏洞危害
1)引诱初级用户提供诸如用户名、密码、信用卡号、社会保险号等敏感信息
2)窃取或操纵客户会话和cookie,用于模仿合法用户,从而使黑客能够以该用户身份查看或变更用户记录以及执行事务。
3.解决建议
对用户输入内容进行过滤。
通过验证用户输入不能包含危险字符,防止恶意的用户执行应用程序执行计划外的任务。
LDAP注入漏洞
风险等级:高危
1.漏洞描述:
LDAP是一种轻量级目录访问协议,可以用来保存信息。如果在查询语句中插入恶意代码,可以修改返回的结果
2.漏洞危害:
- 机密数据被窃取;
3.修复建议:
1)在查询中对用户输入的数据进行严格过滤;
2)部署Web应用防火墙;
命令执行漏洞
风险等级:高危
1.漏洞描述:
命令执行漏洞是指代码未对用户可控参数做过滤,导致直接带入执行命令的代码中,对恶意构造的语句,可被用来执行任意命令。
2.漏洞危害:
黑客可在服务器上执行任意命令,写入后门,从而入侵服务器,获取服务器的管理员权限,危害巨大。
3.修复建议:
严格过滤用户输入的数据,禁止执行系统命令
IIS短文件名泄漏漏洞
1.漏洞描述
该漏洞由于Windows处理较长文件名时为方便使用较短的文件名代替,攻击者可利用该漏洞尝试获取网站服务器下的文件名。
2.漏洞危害
黑客可通过该漏洞尝试获取网站服务器下存放文件的文件名,达到获取更多信息来入侵服务器的目的。
3.修复建议
- 修改Windows配置,关闭短文件名功能。
URL存在框架注入漏洞
风险等级:中危
1.漏洞描述
攻击者有可能注入含有恶意内容的 frame 或 iframe标记。
2.漏洞危害
如果用户不够谨慎,就有可能浏览该标记,却意识不到自己会离开原始站点而进入恶意的站点。之后,攻击者便可以诱导用户再次登录,然后获取其登录凭证。
3.修复建议
过滤特殊字符,建议过滤出所有以下字符:
[1] |(竖线符号)
[2] & (& 符号)
[3] ;(分号)
[4] $(美元符号)
[5] %(百分比符号)
[6] @(at符号)
[7] '(单引号)
[8] "(引号)
[9] \'(反斜杠转义单引号)
[10] \"(反斜杠转义引号)
[11] <>(尖括号)
[12] ()(括号)
[13] +(加号)
[14] CR(回车符,ASCII 0x0d)
[15] LF(换行,ASCII 0x0a)
[16] ,(逗号)
[17] \(反斜杠)
敏感信息泄露
风险等级:中危
1.漏洞描述
敏感信息指不为公众所知悉,具有实际和潜在利用价值,丢失、不当使用或未经授权访问对社会、企业或个人造成危害的信息。黑客利用主动探测或被动收集的方法,获取目标敏感信息,可针对性对目标进行攻击。
2.漏洞危害
- 攻击者可直接下载用户的相关信息,包括网站的绝对路径、用户的登录名、密码、真实姓名、身份证号、电话号码、邮箱、QQ号等,可被社工,也可以生成字典文件;
- 攻击者通过构造特殊URL地址,触发系统web应用程序报错,在回显内容中,获取网站敏感信息;
- 攻击者利用泄漏的敏感信息,获取网站服务器web路径;
- robots文件暴露web站点结构;
- 管理后台地址暴露。
3.解决建议
- 对网站错误信息进行统一返回,模糊化处理;
- 对存放敏感信息的文件进行加密并妥善储存,避免泄漏敏感信息。
目录遍历
风险等级:中危
1.漏洞描述
目录遍历漏洞是由于Web服务器或CMS设置不当导致的,攻击者可利用此漏洞查看Web目录下的文件及其文件夹,从而找到可攻击的文件,获知网站的整体结构。该漏洞一般被攻击者作为辅助攻击的手段之一。
2.漏洞危害
- 获取网站的架构,泄露网站的源代码文件。
- 获取网站敏感数据
3.解决建议
- 对服务器或CMS进行安全配置,关闭WEB服务器目录浏览功能;
弱口令
风险等级:中危
1.漏洞描述
弱口令即容易破译的密码,多为简单的数字组合、帐号相同的数字组合、键盘上的临近键或常见姓名、终端设备出厂配置的通用密码等都属于弱密码范畴。攻击者很容易预测用户名和密码,登录应用程序,从而获取未获授权的特权。
2.漏洞危害
- 弱口令致使攻击者轻易的登录到网站后台,获取网站的敏感数据,进行数据的增删改查。
3.解决建议
-
加强口令密码管理制度,设置强口令,在大型信息系统和运维环境复杂的情况下,可以采用运维管理设备进行密码管理。
-
增加验证机制,防爆破机制,限制ip+cookie访问次数。
黑链
风险等级:中危
1.漏洞描述
网站源代码中发现大量黑链,这表示网站受到入侵,黑客已经获取到一定权限。
2.解决建议
对源代码进行全面审查,删除黑链。
慢速攻击
风险等级:中危
1.漏洞描述
针对HTTP服务器,客户端与之建立一个连接,以很低的速度发包,并保持住这个连接不断开。如果客户端持续建立这样的连接,那么服务器上可用的连接池将很快被占满,从而导致拒绝服务攻击。
2.漏洞危害
- 服务器资源被大量利用,处理不了过多请求,导致服务器宕机,影响业务。
2.解决建议
-
限制web服务器的HTTP头部传输的最大许可时间。
-
如果是apache服务器,建议升级到最新版的apache。
-
限制web服务器的HTTP头部传输的最大许可时间,在apache中添加
mod_reqtimeout.so
模块,Apache2.2.15后,该模块已经被默认包含,在httpd.conf中添加LoadModule reqtimeout_module modules/mod_reqtimeout.so
,在httpd.conf
中添加RequestReadTimeout header=20-40,MinRate=500 body=20,MinRate=500
。重启apache服务,测试是否正常。
host头部攻击
风险等级:中危
1.漏洞描述
为了方便的获得网站域名,开发人员一般依赖于HTTP Host header。例如,在php里用
$_SERVER["HTTP_HOST"]。
但是这个header是不可信赖的,如果应用程序没有对host header值进行处理,就有可能造成恶意代码的传入。
2.解决建议
-
web应用程序应该使用SERVER_NAME而不是host header。
-
在Apache和Nginx里可以通过设置一个虚拟机来记录所有的非法host header。
-
在Nginx里还可以通过指定一个SERVER_NAME名单,Apache也可以通过指定一个SERVER_NAME名单并开启UseCanonicalName选项。
KindEditor3.5.5遍历目录漏洞
风险等级:中危
1.漏洞描述
KindEditor是一套开源的HTML可视化编辑器,主要用于让用户在网站上获得所见即所得编辑效果,兼容IE、Firefox、Chrome、Safari、Opera等主流浏览器。KindEditor目录/php/file_manager_json.php, 存在遍历目录漏洞。
2.解决建议
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:
cookie缺少HttpOnly属性
1.漏洞描述
会话cookie中缺少HttpOnly属性会导致攻击者可以通过程序(JS脚本、Applet等)获取到用户的cookie信息,造成用户cookie信息泄露,增加攻击者的跨站脚本攻击威胁。
HttpOnly是微软对cookie做的扩展,该值指定cookie是否可通过客户端脚本访问。Microsoft Internet Explorer 版本 6 Service Pack 1和更高版本支持cookie属性HttpOnly。
如果在Cookie中设置HttpOnly属性为true,兼容浏览器接收到HttpOnly cookie,那么客户端通过程序(JS脚本、Applet等)将无法读取到Cookie信息,这将有助于缓解跨站点脚本威胁
2.解决建议
向所有会话cookie中添加“HttpOnly”属性。 Php.ini session.cookie_httponly=
存在永久性cookie
1.漏洞描述
目标存在永久性Cookie,可能使攻击者通过XSS漏洞获得用户的会话凭证,然后攻击者在用户不知情的情况下,利用获取到的Cookie登录到用户的管理后台上,由于Cookie不过期,攻击者可以永久使用用户后台,进行相应的非法操作。
2.解决建议
-
不要设置cookie为永久性的,修改cookie的属性expires的值,将cookie在会话关闭时则无效;或者一段时间内,过期后无效。
-
配置文件 application/config/config.php关于SESSION COOKIE的配置参数
在源码中存在用户名和密码泄露
风险等级:中危
1.漏洞描述
检测到目标站点的源码信息中可能存在用户名或者密码此类的敏感信息,从而可能造成用户或者站点的敏感信息泄露。
2.解决建议
- 用户名密码不应该放在源代码中,对用户名及密码进行加密。
错误页面web服务器版本泄露
风险等级:中危
1.漏洞描述
Web服务器未能正确处理异常请求导致Web服务器版本信息泄露,攻击者收集到服务器信息后可进行进一步针对性攻击。
2.解决建议
-
关闭web服务器错误提示。
-
关闭运行平台的错误提示。
-
建立错误机制,不要把真实的错误反馈给访问者。
后台登录地址泄露
风险等级:中危
1.漏洞描述
后台登录地址一般用于网站的后台管理,攻击者猜测到后台,可以对后台地址用户登录模块进行暴力破解。
2.解决建议
- 对管理地址进行更名,让管理地址变得不可猜测
form表单验证码点击不变
风险等级:中危
1.漏洞描述
在form表单中,验证码出现第一次之后,点击验证码图片,验证码不会变,只有在刷新页面的时候,验证码才会改变,这会导致攻击者可以绕开验证码,而对表单进行爆破。
2.解决建议
加强验证码验证模块
危险的HTTP请求类型
风险等级:中危
1.漏洞描述
web服务器或应用服务器是以不安全的方式配置的,会在web服务器上上传、修改或删除web页面、脚本和文件。
2.解决建议
如果服务器不需要支持 WebDAV,请务必禁用它,或禁止如下不必要的 HTTP 方法。
逻辑设计缺陷
1.漏洞描述
逻辑设计缺陷是由于应用在最初设计时由于未考虑全面,在登录、注册、找回密码、支付模块中程序的判断逻辑及程序的处理流程上存在缺陷,导致攻击者可以绕过程序的处理流程,从而达到特定的目的,如暴力破解密码,任意用户注册,任意密码重置及各种支付漏洞。
2.解决建议
- 在输入接口设置验证,如token,验证码,多个参数结合认证等。
- 注册界面的接口不要返回太多敏感信息,以防遭到黑客制作枚举字典。
- 验证码请不要以短数字来甚至,最好是以字母加数字进行组合,并且验证码需要设定时间期限。
https://zhuanlan.zhihu.com/p/19728040 http://www.freebuf.com/vuls/112339.html
后门
1.漏洞描述
目标网站已经被黑客入侵,拿下webshell并留下后门。
2.解决建议
- 管理员定期手工或用专业的webshell扫描工具全面清查服务器中的文件,删除webshell。
- 对网站进行定期安全测试,发现网站的安全问题,修复相应的漏洞。
- 对操作系统进行补丁升级,安装防病毒软件进行安全防护。
任意文件上传下载
风险等级:中危
1.漏洞描述
web应用没有部署良好设计的输入验证,攻击者可能利用这些系统来读取、改写不可访问的文件。在一些特别的情况,攻击者甚至可能执行任意代码或者系统命令。
2.解决建议
- 严格检查变量是否已经初始化;
- 在服务器本地文件及远程文件,进行严格的检查,参数中不允许出现../之类的目录跳转符。
- web服务器上通过授权管理机制来控制文件和资源的访问。
未授权访问
1.漏洞描述
未授权访问可以理解为需要安全配置或权限认证的授权页面可以直接访问。
2.解决建议
- 加强网站的验证机制与过滤机制,防止用户绕过过滤机制对一些敏感信息或危险功能进行访问和操作。
上传漏洞
1.漏洞描述
由于网站管理员的配置不当或者CMS的编写时未对上传的文件进行检查过滤或者过滤不严,致使黑客可以上传木马。
2.解决建议
- 客户端和服务端检测文件大小,文件后缀和文件内容等,并严格控制上传目录,不向用户暴露出具体路径。
错误详情泄漏漏洞
1.漏洞描述
页面含有CGI处理错误的代码级别的详细信息,例如sql语句执行错误原因,php的错误行数等。
2.检测方法
修改参数为非法参数,看页面返回的错误信息是否泄漏了过于详细的代码级别的信息。
3.修复方案
将错误信息对用户透明化,在CGI处理错误后可以返回友好的提示语以及返回码。但是不可以提示用户出错的代码级别的详细原因。