漏洞种别(一级)
漏洞种别(二级)
安全设计&开拓

1
SQL注入
SQL注入
漏洞简介:实质:布局畸形的输入,从而改变原查询语句的语义缘故原由:系统后台对用户输入的参数未进行任何处理,直接代入SQL语句漏洞危害:数据库信息透露、添加系统账号、读写文件获取Webshell等防御策略:1 权限最小原则利用最小权限原则,避免root等高等账号在Web运用中的直策应用;所用账号不应分配建立、删除数据库/表的权限(create table/drop table),以及操作本地文件的权限;2 严格过滤用户输入严格审查包含select、union、delete、drop等SQL关键字的内容;严格审查包含二进制数据、转义序列和注释字符的输入内容;利用Web措辞、数据库厂商供应的“安全函数”处理用户输入;校验用户输入内容的大小和数据类型,逼迫实行适当的限定与转换;3 利用预编译语句Web运用程序利用预编译语句,绑定变量,是戒备SQL注入的最佳办法
2
XSS漏洞
XSS漏洞
漏洞简介:代码注入的一种。攻击者通过“HTML注入”的形式修改了网页内容、插入了恶意脚本,从而在用户浏览网页时,掌握用户浏览器的一种攻击。漏洞危害:盗取Cookie、XSS蠕虫、DDoS(JavaScript脚本能实行的功能都涵盖)防御策略:1 Coookie设置Httponly属性:避免XSS盗取用户Cookie。(浏览器会禁止页面的JavaScript代码读取带有HttpOnly属性的Cookie)2 输入检讨: 检讨用户输入的数据是否包含一些分外字符,如: <、 >、"、'等。可首先在客户端用JavaScript进行检讨,但在做事器端必须再次检讨一次,由于客户真个检讨很随意马虎绕过。个中,客户端检讨可阻挡部分误操作的正常用户,节省做事器资源、避免安全产品误报。 3 输出检讨:在输出数据之前,需对字符串进行编码处理。把稳: 不同的输出位置应采取不同的编码办法:(1) 输出到HTML普通标签、HTML普通属性中: 须要进行HTML实体编码,如: 利用 ESAPI 的 ESAPI.encoder().encodeForHTMLAttribute() 方法进行转码& –> & < –> <> –> >” –> " ' –> '个中,普通标签指除script外的标签,普通属性指除href、src、style、action、on事宜之外的属性(2) 输出到中script标签、on事宜属性中: 须要进行JavaScript编码, 如: 利用 ESAPI 的 ESAPI.encoder().encodeForJavaScript() 方法进行转码(3) 输出到CSS(css文件、style标签、style属性)中: 须要进行CSS编码, 如: 利用 ESAPI 的 ESAPI.encoder().encodeForCSS() 方法进行转码 (4) 输出到URL(href属性)中: 须要进行URL编码,如:利用 ESAPI 的 ESAPI.encoder().encodeForURL() 方法进行转码
3
文件上传漏洞
文件上传漏洞
漏洞简介:文件上传漏洞是指由于系统未对上传的文件进行严格的验证和过滤,导致用户可以超越其本身权限向做事器上传可实行的脚本文件,如:PHP、JSP、ASP等,并通过此脚本在做事端实行命令的一种攻击。利用条件:1、上传的文件能躲避做事端安全检讨: 文件压缩、防火墙、安全狗等2、攻击者能够访问到上传的文件路径: 文件路径 + 文件名3、上传的文件能够被做事器阐明实行: 脚本类型须要精确,文件夹所在路径被Web容器覆盖漏洞场景:1、前端文件上传限定被绕过2、做事器配置不当直接上传3、文件解析漏洞导致文件实行4、做事端过滤不严或被绕过5、文件路径截断上传6、第三方运用漏洞导致文件上传,如:FCKEditor上传漏洞7、开拓框架漏洞导致文件上传,如: Struts2防御策略:1、上传目录设置为不可实行:Web容器不解析上传目录中的文件,纵然攻击者成功上传Webshell,做事器也不会实行脚本2、在做事端严格判断文件类型: 以白名单形式进行"文件扩展名检讨 + 文件头检讨"3、随机天生文件名和文件路径4、单独设置文件做事器的域名
4
CSRF漏洞
CSRF漏洞
漏洞简介: 攻击者勾引当前已登任命户访问恶意网站,从而基于用户身份发送恶意要求、实行并非用户本意的敏感操作,如:账户转账、揭橥评论等。(要求是攻击者在恶意网站上布局的,用户访问时触发)防御策略:1 在敏感操作的HTTP要求参数中,添加随机的Token(推举)2 验证HTTP要求头中的Referer字段,用于判断要求来源是否是当前网站3 在敏感操作处,添加图形验证码(影响用户体验)"
5
SSRF漏洞
SSRF漏洞
漏洞简介:做事端供应了从其他做事器获取数据的功能(如: 在线翻译、通过URL地址加载或下载图片),但没有对目标地址做过滤和限定。防御策略: 1 协议限定: 限定要求的协议,仅许可http和https, 禁止file://,dict://,gopher://等协议2 域名限定: 限定要求的域名或IP,避免运用被用来获取内网数据,攻击内网3 端口限定: 限定要求的端口,仅许可访问80,443,8080,8090等端口4 过滤返回的信息: 如果web运用是去获取某一种类型的文件,那么在把返回结果展示给用户之前先验证返回的信息是否符合标准
6
越权漏洞
水平越权、垂直越权
漏洞简介:如果权限掌握功能设计存在毛病,那么攻击者就可以通过这些毛病来访问未经授权的功能或数据,即存在越权漏洞。个中;水平越权指的是攻击者考试测验访问与他拥有相同权限的用户的资源;垂直越权指的是一个低级别攻击者考试测验访问高等别用户的资源。防御策略:五不要1、不要认为用户不知道页面地址,而不对页面做权限检讨2、不要认为验证用户身份即可,还需验证权限3、不要相信用户提交的任何参数,对付可控参数进行严格的检讨与过滤4、不要认为用户会按照程序流程进行操作5、不要相信用户不会修改客户端自动提交的数据五哀求:1、前后端同时对用户输入信息进行校验,双重验证机制2、实行关键操作前必须验证用户身份,验证用户是否具备操作数据的权限3、多阶段功能的每一步都要验证用户权限4、对付直接工具引用,加密资源ID,以防止攻击者对ID进行列举5、清晰的前后端交互接口文档,描述每个接口的权限哀求,校验权限的位置
7
短信炸弹漏洞
短信炸弹漏洞
漏洞简介:攻击者在网站供应的发送短信验证码的地方,对其发送的数据包进行重放或遍历不同的手机号,如果短信平台未做校验,系统会一贯去发送短信,这样就造成了短信炸弹漏洞。防御策略:1、 对付同一手机号码,应限定发送短信的韶光间隔和一天可发送的数量。如: 每1分钟仅许可发送一次,没超过1分钟,则不许可发送,提示操作频繁;2、 在发送短信功能处,可增加图片验证码。系统做事端对验证码做校验,不一致则谢绝发送短信
8
弱口令漏洞
运用系统弱口令
开拓注册、重置密码、修正密码功能时,需按照指定规则对用户密码繁芜度进行校验,对不知足哀求的密码需在前端给予提示信息,防爆破,登录非常情形下锁定账户,或开启多因子认证。
密码繁芜度哀求:
9
运用系统管理员弱口令
开拓重置密码、修正密码功能时,需按照指定规则对用户密码繁芜度进行校验,对不知足哀求的密码需在前端给予提示信息;第一次登录提示修正密码,按一定周期修正密码。防爆破,登录非常情形下多因子认证。
10
根本系统弱口令
在支配SSH、Redis、Mysql、Oracle、Weblogic等根本做事时,应避免利用弱口令或空密码的情形
11
外购产品弱口令
在支配外购产品时,需修正外购产品的默认口令,避免涌现口令透露的情形
12
任意密码重置
任意密码重置
漏洞简介:该漏洞可能涌如今用户忘却密码时的密码找回页面(为主)、或用户登录后重置密码的页面。防御策略:1 忘却密码时的密码找回页面: (1)避免在将验证凭据(验证码)回显到前端页面、涌现凭据透露的情形(2)在用户提交新密码后,需在做事端对用户标识、吸收端(手机、邮箱)、凭据(验证码)进行关联性验证。即: 验证重置用户与吸收重置凭据的手机号/邮箱作是否同等、验证吸收重置凭据的手机号/邮箱和发送的凭据是否同等,避免涌现攻击者修改重置用户、或修改吸收端(手机号/邮箱)的情形。(3)需对凭据的有效考试测验次数做限定,避免涌现暴力预测的情形2 用户登录后重置密码的页面: (1)在用户提交重置密码要求时,需在做事端对当前用户身份进行再次认证,避免攻击者修改用户身份、水平越权的情形
13
敏感信息透露
做事版本信息透露
1、在支配WEB做事器的时候,应修正默认的banner图标信息,避免做事器版本信息的透露2、http返复书息中server等透露,应修正不返回做事器信息3、404、500、运用报错等透露做事器版本信息,统一报错页面,运用报错信息转义后返回前端
14
缺点页面信息透露
报错信息中透露做事器版本、非常调用栈,应设置统一的404或500等缺点页面,避免将程序非常回显到前端页面,透露敏感信息
15
前端页面信息透露
1、html、jsp、js等返回前真个文件透露测试提示、生产测试环境信息(ip)、默认账号信息、默认口令、接口信息、加密密钥、js第三方组件版本等,生产测试打包流程区分,js代码稠浊;2、前端未脱敏展示;
16
用户敏感信息
未按照干系监管哀求,在传输、展示过程中透露了证件、密码、磁道等用户敏感信息,或者密码采取了弱加密算法加密,可还原
17
系统敏感路径透露
禁止返回绝对路径,仅返回文件名
18
其他信息透露
Phpinfo信息透露、DS_Store文件透露、SVN\GIT文件透露、配置文件透露、ip透露、BigIP透露、
19
安全配置毛病
启用危险HTTP方法
在支配网站时,应关闭不须要开放的HTTP要求方法(如: DELETE、PUT、OPTIONS等),仅保留GET、POST方法
20
缺点配置CORS
Access-Control-Allow-Origin设置不能为
21
HOST头攻击
Nginx,修正ngnix.conf文件,在server中指定一个server_name名单,并添加检测。Apache,修正httpd.conf文件,指定ServerName,并开启UseCanonicalName选项。Tomcat,修正server.xml文件,配置Host的name属性。
22
传输层保护不敷
1 对付涉及敏感数据的业务系统,逼迫利用HTTPS协议,以确保数据在传输过程中不会被透露或盗取2 如果利用HTTPS协议本钱过高,可仅对敏感数据(登录、注册时的账号/密码)的传输进行加密处理
23
高危端口开放
禁止对互联网开放与业务系统无关的高危端口,如: 22、3389等,
24
暴力破解攻击
暴力破解攻击
漏洞简介:攻击者通过系统地组合所有可能性(如:账户名/密码),以破解用户的账户名、密码等敏感信息的一种攻击。防御策略:1 登录功能处,利用验证码(担保一定的繁芜度、避免验证码本身被破解)提高暴力破解攻击的本钱2 登录功能处,限定同一账号一定韶光范围内的缺点次数,考试测验次数过多时,则锁定指定长度的韶光
25
用户列举漏洞
用户列举漏洞
漏洞简介:由于缺点配置或设计毛病,当向系统提交有效账户和无效账户时,做事器会有不同的相应。利用相应的不同,攻击者可以获取到系统已经存在的账户,进而可用于暴力破解、获取账户的登录密码。防御策略:在登录、修正密码、重置密码功能处,当用户账号/密码输入缺点的情形下,应统一身份验证失落败时的相应,如:用户名或密码缺点。同时,可结合验证码机制进行防御(该漏洞常日伴随暴力破解攻击涌现)。在其他业务功能接口,当输入用户id不存在时,不应提示用户不存在;注册功能处,限定同一ip的要求频率
26
点击挟制漏洞
点击挟制漏洞
漏洞简介:点击挟制是一种视觉欺骗的攻击手段。攻击者将须要攻击的网站通过 iframe 嵌套的办法嵌入自己的网页中,并将 iframe 设置为透明,在页面中透出一个按钮勾引用户点击。防御策略:1 设置X-FRAME-OPTIONS相应头: 该HTTP 相应头便是为了防御用 iframe 嵌套的点击挟制攻击(推举)DENY: 表示页面不许可通过 iframe 的办法展示SAMEORIGIN: 表示页面可以在相同域名下通过 iframe 的办法展示ALLOW-FROM: 表示页面可以在指定来源的 iframe 中展示2 通过JavaScript防御: 通过JavaScript不许可当前页面被 iframe 嵌套。
27
未授权访问漏洞
未授权访问漏洞
漏洞简介:攻击者无需通过身份认证,便可访问到本应登录后才可访问的敏感数据。防御策略:1、对网站下敏感URL进行登录状态检讨从session中获取登录成功时存入session中的身份标识,判断客户端通报过来的身份标识是否与session中保存的同等,不一致则跳转到登录页面或相应503页面
28
URL重定向/跳转漏洞
URL重定向/跳转漏洞
漏洞简介:URL跳转漏洞是指后台做事器在奉告浏览器跳转时,未对客户端传入的重定向地址进行合法性校验,导致用户浏览器跳转到钓鱼页面的一种漏洞。实质: 利用Web运用中带有重定向功能的业务,将用户从一个网站重定向到另一个网站。危害: 勾引用户进入钓鱼网站、造成用户敏感信息透露防御策略:1、对客户端通报过来的跳转URL进行校验常用办法: 做事端配置跳转白名单或域名白名单,只对合法的URL做跳转
29
命令实行漏洞
命令实行漏洞
漏洞简介:当运用须要调用一些外部程序时常日会用到一些实行系统命令的函数,当在调用这些函数实行系统命令时,如果对用户输入没有过滤或过滤不严,直接将其作为系统命令的参数拼接到命令行中,就会造成命令实行漏洞。利用条件:1、运用调用实行系统命令的函数,如PHP中的system、exec、shell_exec、passthru、popen、proc_popen等2、将用户输入作为系统命令的参数拼接到了命令行中3、没有对用户输入进行过滤或过滤不严漏洞危害: 继续Web做事器程序的权限,去实行系统命令; 反弹shell等防御策略:1、只管即便少用实行命令的函数或者直接禁用2、在进入命令实行的函数或方法之前,需对参数进行过滤、对敏感字符进行转义3、参数的值只管即便利用引号包裹,并在拼接前调用addslashes进行转义(PHP措辞)
30
验证码毛病
验证码不过期(复用)/绕过
1、验证码繁芜度应知足一定规则,降落被自动化工具识别的比例2、验证码需在做事器端天生,并在做事器端认证,避免前端绕过3、在做事器端,只有在验证码考验通过后,才进行用户名和密码的考验4、验证识别后,无论是否同等,都需将做事器上存储的验证码清空(销毁session中的验证码)5、限定用户提交的验证码不能为空
31
业务逻辑漏洞
业务逻辑漏洞
业务逻辑设计不严谨,参数校验不严格,如流程绕过、顺序变更、非常值等
32
任意文件下载
任意文件读取下载(目录遍历)
1、对文件名等干系字段进行校验。2、禁止绝对路径访问,禁止”../”、“..\\”等访问上级目录字符串。