1、数据输入输出安全(10)
1)SQL注入
SQL注入(SQL Injection)是发生在Web程序中数据库层的安全漏洞,是一种常见的Web安全漏洞,形成的主要原因是web应用程序在接收相关数据参数时未做好过滤,将其直接带入到数据库中查询,导致攻击者可以拼接执行构造的SQL语句。
2)XSS跨站脚本攻击
跨站脚本攻击 XSS是指恶意攻击者往 Web 页面里插入恶意 Script 代码,当用户浏览该页面时,嵌入 Web 里面的 Script 代码会被执行,从而达到恶意攻击用户的目的。XSS 攻击针对的是用户层面的攻击!
XSS 可分为:存储型 、反射型 、DOM 型 XSS
详解转载:------------------
3)HTTP头部SQL注入漏洞
HTTP头部SQL注入是一种攻击手段,它试图通过修改HTTP请求头部来执行恶意SQL语句。这种攻击通常发生在Web应用程序没有正确处理或验证用户输入的情况下。属于SQL注入中的一种漏洞类型。
4)HTTP头跨站脚本攻击
HTTP头跨站脚本攻击是指攻击者通过操作HTTP响应头部信息来注入脚本。属于跨站脚本攻击中的一种漏洞类型。
5)CRLF注入
CRLF注入漏洞,是因为web应用没有对用户输入做严格验证,导致攻击者可以输入一些恶意字符,攻击者一旦向请求行或者首部中的字段注入恶意的CRLF,就能注入一些首部字段或者报文主体,并在响应中输出,所以又称为HTTP响应拆分漏洞。
详解转载:------------------
6)URL重定向
又称跳转漏洞,指的是网络应用程序接受用户可控的输入作为到外部站点的链接,然后重定向中使用该链接。其漏洞原理为:http参数可能包含URL值,并且可能导致web应用程序将请求重定向指定的URL,通过将URL值修改为恶意站点,攻击者可以成功启动网络钓鱼诈骗并且窃取用户凭据。由于修改后的链接中的服务器名称与原始站点相同,因此网络钓鱼尝试具有更可信的外观。
7)文件目录遍历
由于web服务器或者web应用程序对用户输入的文件名称的安全性验证不足而导致的一种安全漏洞,使得攻击者通过利用一些特殊字符就可以绕过服务器的安全限制,访问任意的文件(可以使web根目录以外的文件),甚至执行系统命令。
原理利用:程序在实现上没有充分过滤用户输入的"../"之类的目录跳转符,导致恶意用户可以通过提交目录跳转来遍历服务器上的任意文件。
8)SSRF服务器端请求伪造
是指攻击者能够从易受攻击的web应用程序,构造恶意的数据包,使服务器端向另一个服务器发起请求的安全漏洞。大多数情况下,SSRF的目标是网站内部的系统。漏洞产生原因大多是由于服务器提供服务的其他应用没有对访问进行限制,利用一个可以发起网络请求的服务,当作跳板来攻击其他服务。
详情转载:------------------
9)文件包含
文件包含漏洞(File Inclusion Vulnerability)是指应用程序中存在的一种安全漏洞,攻击者通过利用该漏洞可以在应用程序中执行任意代码。文件包含漏洞通常出现在动态网页中,攻击者通过在URL中注入恶意代码,使应用程序将恶意代码作为正常代码执行。这种漏洞的危害性很大,攻击者可以利用该漏洞窃取敏感信息、篡改数据、控制服务器等。
详情转载:------------------
10)XML外部实体注入(XXE)
2、上传内容检查(2项)
1)任意文件上传
任意文件上传漏洞是指攻击者可以随意上传任何类型的文件到目标系统,不做任何过滤所产生的漏洞。当系统允许攻击者上传恶意脚本文件(如PHP、ASP、JSP等)并执行时,攻击者便可以通过这些脚本在服务器上执行任意操作,如获取敏感数据、篡改系统内容等。
2)文件上传绕过
文件上传绕过,是指目标系统对上传文件的格式限制类型不够严谨,可以通过修改参数,后缀。文件类型等形式绕过文件上传,将恶意文件绕过应用程序类型的验证和访问控制。成功上传至目标系统。
绕过方式转载:-----------------
Web安全—文件上传(解析)漏洞_文件上传漏洞-CSDN博客
3、敏感信息处理(17项)
1)敏感信息泄露
敏感数据包括但不限于:口令、密钥、证书、会话标识、隐私数据、授权凭证、个人数据(如姓名、住址、电话、邮箱等),在配置文件、日志文件、备份文件及数据日志中都有可能包含敏感数据。
2)网站历史备份文件
备份文件泄露,常常不局限于网站的源代码泄露,网站的数据库备份文件,以及上传的敏感文件,或者一切日常的备份文件,原则上不允许访问的文件可被通过访问web路径进行下载得到,造成其信息泄露,有效帮助攻击者理解网站的应用逻辑,为展开其他类型的攻击提供有利的条件,降低攻击的难度,可以进一步获取其他敏感数据。
3)Git 源码信息泄露
Git信息泄露是在使用Git版本控制系统时,由于配置不当、操作失误或者人为操作,导致敏感信息(如密码、密钥、源码等)被意外上传至公开的代码仓库或者其他公开可访问的地方,从而被未授权的人获取。
4)网站目录浏览
由于网站存在配置缺陷,存在目录可浏览漏洞,这会导致网站的很多隐私文件与目录泄露,比如数据库备份文件,配置文件等,攻击者利用该信息可以更容易得到网站的权限,比如攻击者通过访问网站的某一目录时,该目录没有默认首页文件或者没有正确配置默认首页文件,将会把整个目录结构列出来,将网站结构完全暴露给攻击者,攻击者可以通过浏览目录结构,访问到指定隐私文件。
5)SVN 源码信息泄露
SVN是一个开放源代码的版本控制系统,在使用SVN管理本地代码过程中会自动生成一个名为.svn的隐藏文件夹,其中包含重要的源代码信息,网站管理员在发布代码时如果没有使用导出功能,而是直接复制代码文件夹到web服务器上,这样就会使.svn文件夹暴露于外网环境,可以利用./svn/entries文件获取到服务器源码。
详情转载:------------------
6)网页源代码泄露漏洞
· 版本控制系统中的隐藏文件夹暴露、备份文件或缓存文件未被正确删除等。这些情况都可能导致攻击者获取敏感信息,进一步利用这些信息对系统进行攻击。版本控制系统中的隐藏文件夹,如SVN或GIT,通常包含重要的代码信息和配置文件。如果这些文件夹未被正确配置或管理,可能会被暴露于公网,从而让攻击者有机会下载网站的代码。攻击者可以利用这些代码获取数据库连接密码、挖掘新的系统漏洞或进行其他恶意活动。
7)敏感文件信息泄露
在HTML、JS、CSS文件中包含敏感信息,导致敏感信息被恶意攻击者收集利用
8)错误详情泄露
是系统一些异常提示或者错误提示中,存在敏感信息,如用户信息、系统信息、数据信息有关的文本提示,可能会被恶意利用。
9)banner信息泄露
banner信息表示欢迎语,其中会包含一些敏感信息,所以获取banner也属于信息收集的范畴,在渗透测试中,典型的4xx、5xx信息泄露就属于banner泄露的一种。在banner信息中,可以获取到软件开发商、软件名称、服务类型、版本号等。而版本号有时候就会存在公开的CEV问题,可以直接进行利用。
详情转载:------------------
服务扫描获取 banner 信息的方法有哪些_banner信息怎么来-CSDN博客
10)工作区开发文件泄露
是指未经授权的文件或者敏感文件被泄露给未获得权限的人员或者组织
11)网站绝对路径泄露
由于未对服务器返回的出错信息进行良好处理,一旦用户提交了异常的数据或者指令后,服务器将会返回异常的出错信息,通常会包含敏感的配置内容,如web绝对路径、数据库路径等。
12)SourceMap文件泄露
Sourcemap本质上是一个信息文件,里面存储着代码转换前后的对应信息位置,是源代码和生产代码的映射,可以通过reverse-sourcemap工具,利用该文件还原源代码,而源码中存在一些敏感信息,所造成的信息泄露。
13)存在测试文件或样例文件
是指一些测试的文件中如果存在一些敏感信息,由于操作不当,上传至目标系统,又或者公开暴露,是恶意攻击者可以查看,进行信息收集。
14)Tomcat默认管理后台暴露
由于配置Tomcat时,管理页面未进行删除或者权限角色设置,攻击者可以通过暴力猜解进入到管理后台,获取各种敏感信息导致的漏洞。
15)会话信息泄露
在登录、验证、修改密码等页面中,直接或间接获取到隐藏域中的敏感信息。
LocalStorage 存储凭据
16)内网IP地址泄露
网站的内网IP,常会被攻击者进行信息利用收集,一般通过工具扫描、查看网页源代码、以及源代码中的注释等,或者通过数据库传输中拦截,查看其返回中的信息,是否包含可疑的内网IP地址。
17)cookie中存放密码
cookie实际上就是一些信息,以文件的形式存储在客户端计算机上,当用户登录网站时需要输入密码,密码被存放cookie中,可能导致密码泄露风险。
4、认证与授权(5项)
1)未授权访问
是指在不需要获取到登录权限或者未授权对需要授权的功能进行访问,通过直接输入网址或者不允许查看的链接便可进行访问,同时进行其他操作。通常是由于认证页面存在缺陷,安全配置不当引起的漏洞。
2)任意文件下载
任意文件下载是可以通过特定的url请求,绕过服务器的安全验证,下载服务器上的任意文件,这通常是由于服务器端对用户请求的文件路径没有进行足够的过滤和验证,导致攻击者通过构造特殊的url请求来访问服务器上的任意文件。该漏洞的利用主要是为了信息收集,通过服务器下载配置文件,获取大量的配置信息、源码,从而根据获取的信息来进一步挖掘服务器漏洞而入侵。
漏洞利用:--------------------
任意文件下载漏洞 - N南风北巷X - 博客园 (cnblogs.com)
3)Web Service 接口泄露
WebService是一种跨编程语言和跨操作系统平台的远程调用技术
webservice详解:--------------------
Web Service渗透测试——介绍+实例演示_wsdl接口信息泄露如何验证-CSDN博客
webservice 暴漏接口_webservice接口和http接口(API接口)的区别-CSDN博客
4)垂直/平行越权
垂直越权:是不同级别或者不同角色之间的越权,又分为向上越权和向下越权,向上越权就是一个低级别的用户尝试访问高级别用户的权限或者资源。向下越权就是一个高级别用户访问低级别用户的信息,读取高级别用户没权限访问的资源。
水平越权:是相同级别的用胡或者角色中,不同用户之间可以越权修改或者删除其他用户信息的非法操作
5)CSRF跨站请求伪造
CSRF跨站请求,是一种对网站的恶意利用,是指当受害者访问带有攻击代码的页面时,利用受害者的身份cookie向服务器发送恶意请求。与XSS跨站脚本攻击不同的是,XSS是盗取用户的资料,利用用户进行某种动作,而CSRF没有盗取用户的信息和诱惑用户进行操作,只要访问了攻击页面,直接伪造成用户向服务器发送请求。CSRF属于业务逻辑漏洞,利用了服务器对关键操作缺少确认机制。
5、通信传输风险(4项)
1)明文传输
明文传输简单点来说就是当我们在网站上面提交敏感数据到服务器的过程中未进行相关加密处理,导致攻击者通过中间攻击方式(劫持、嗅探等)即可获取到这些未加密的敏感数据。当攻击者获取到这些数据之后,就可以用这些信息以合法用户的身份进入到应用系统中——甚至可能进入到应用系统后台中,一旦进入到应用系统中那么就可以获取更多的敏感数据,以及更有机会发现更多的漏洞。
2)SSL相关高危漏洞
SSL是一种管理网络安全信息传输的协议,目的是为网络通信提供安全及数据完整性,SSL在传输层对网络连接进行加密,如果SSL中存在偏差或者安全漏洞,可允许远程攻击者在共享的网络中拦截浏览器和网站服务器之间的通信、监控、记录,从中窃取泄露的一些信息。
3)CORS配置错误
CORS即跨站资源共享(Cross-Origin Resource Sharing),是HTML5的一个新特性,其思想是使用自定义的HTTP头部让浏览器与服务器进行沟通,允许浏览器向跨域服务器发出XML HttpRequset请求,从而克服AJAX只能同源使用的限制,而产生CORS漏洞的本质是服务器配置不当,即Access-Control-Allow-Origin取自请求头Origin字段,Access-Control-Allow-Credentials设置为true。导致攻击者可以构造恶意脚本,诱导用户点击获取用户敏感数据。
详情转载:--------------------
4)HTTP弱加密传输
6、业务流程控制(8项)
1)暴力破解
暴力破解也可以理解为枚举法、穷举法,是一种针对密码的破译方法,将密码进行逐个推算直到找到正确的密码为止。为了提高破解效率,通常使用带有字典的工具进行自动化操作,利用工具发起大量的请求。理论上来说,大多数系统都是可以被暴力破解的,只要有足够强大的计算能力和时间。
2)邮件轰炸
由于对用户发送邮件的次数没有限制,导致可以无限向用户不断发送邮件,从而造成邮箱轰炸。
3)短信轰炸
由于对用户发送短信的次数没有限制,通过对其发送数据包后获取,进行重放,导致可以无限向用户不断发送短信,从而造成短信轰炸。
4)失效的验证码验证机制
失效的验证码验证机制,由于接口存在问题,模块之间与功能没有通过接口关联,导致任何或者失效的验证码都判断为通过,导致可以访问未真正授权的内容。由于现在的验证码机制比较完善,该漏洞出现的机率一般比较小,常见于新网站或者小型网站。
5)验证码缺陷
验证码机制主要用于用户身份识别,常见可分为图片验证码、数字验证码、滑动验证码、短信验证码、邮箱验证码等。通常验证码漏洞可分为:验证码暴力破解、验证码重复使用、验证码回显、验证码绕过、验证码自动识别等。
详情转载:--------------------
Android APP漏洞之战(9)——验证码漏洞详解_android 安全漏洞检测-CSDN博客
业务逻辑漏洞——浅谈验证码漏洞 - 吃不胖的ruanruan - 博客园 (cnblogs.com)
6)验证码缺失
验证码缺失是指登录目标系统不存在验证码。给账号破解降低了一定难度,如果加上验证码,相当于多一层屏障。
7)任意用户密码重置
未经用户本身授权,在未知他人的重置密码链接或者手机验证码的情况下,通过构造重置密码链接或者穷举验证码等方法重置他人密码的一种攻击方式,
8)响应包修改绕过登录
由于对登录的账号及口令校验存在逻辑缺陷,或再次使用服务器返回的相关参数作为最终登录认证,导致可绕过登录限制,如服务器返回一个flag参数作为登录是否成功的标志,但是由于代码最后登录是否成功是通过获取flag参数作为最终验证,导致攻击者通过修改flag参数绕过登录,从而获取系统权限。
详情转载:--------------------
逻辑漏洞之修改响应包绕过登录校验_修改响应包绕过校验解决办法-CSDN博客
9)任意用户注册漏洞
任意用户注册漏洞常见于注册页面,是系统未对输入的用户信息,如手机号,邮箱等进行正确性、合理性以及是否存在进行校验,导致在对该用户信息发送验证码时,可以通过数据包修改的形式,对其进行绕过注册限制。
详情转载:--------------------
10)强口令限制不合规
强口令规定。如限制口令复杂度不低于8位,包含大小写字母、数字和特殊字符,并定期更换口令。提高口令的强度,降低被泄露与破解的风险。
7、会话管理(2项)
1)弱口令
弱口令漏洞是一种常见的网络安全问题,它指的是那些容易被猜测或破解的口令,如仅包含简单数字和字母的口令,例如“123”、“abc”等。这类口令因为安全性较低,一旦被攻击者破解,可能会导致用户计算机面临风险,甚至被用于进行更高级别的攻击,如上传恶意文件或获取敏感数据。
2)会话固定漏洞
会话固定漏洞是指用户在首次登录目标系统后,应用程序未能正确更新或者删除SessionID(会话标识符),导致后续的登录请求仍然使用初始的会话ID,这可以使得攻击者通过捕获并使用这些持久会话ID来模拟已登录的用户,执行恶意操作。
3)会话标识唯一性
未能理解其漏洞含义
8、其他漏洞(5项)
1)启用了不安全的HTTP方法
服务器在处理客户端请求时启用的不安全的HTTP方法,却没有对请求进行正确的验证和授权,这就使得攻击者可以利用这些方法访问、修改或者删除服务器上的数据,从而造成安全风险和漏洞。不安全的HTTP方法不包括但不限于PUT、DELETE、COPY、MOVE、PROPFIND、SEARCH、MKCOL、LOCK、UNLOCK、PROPPATCH等。这些方法通常用于对服务器上的资源进行更复杂的操作,如修改或删除,因此在没有适当安全措施的情况下,它们可能被恶意用户利用.
2)用户名枚举
用户名枚举是一种安全漏洞,常存在于系统登录界面。由于错误配置或设计缺陷,当向系统提交有效账户和无效账户时,服务器会有不同的响应。利用服务器响应的不同,攻击者可以获取到系统已经存在的账户,可用于暴力破解,进一步获取账户的登录密码。对于用户名枚举的修复,可以对网站登录页面的判断回显信息修改为一致,例如都显示为"用户名或密码错误"。
用户名枚举常存在于如下地方:
-
登录界面:如下输入不存在的用户名显示用户名不存在,输入错误的密码就会显示密码错误,典型的用户名枚举。注意:如果该登录界面处,无需输入图形验证码或者图形验证码失效即可以进行登录,则该漏洞是有意义的,否则登录需图形验证码的话我们还是不能够进行暴力破解此漏洞则意义不大。
-
注册信息处:输入一个已经存在的用户名,会返回用户名已存在的信息。基于这,我们也可以枚举出系统账户。
-
找回密码处:输入登录账号,如果账号不存在,就会返回这样的错误信息。
3)IP地址伪造
4)高危端口暴露
是指暴露在互联网中常用的端口存在安全漏洞
序号 | 端口号 | 服务 | 说明 |
1 | 8080 | 8080端口同80端口,是被用于WWW代理服务的,可以实现网页浏览,经常在访问某个网站或使用代理服务器的时候,会加上“:8080”端口号 | |
2 | 21 | FTP | FTP服务器所开放的端口,用于上传、下载。最常见的攻击者用于寻找打开anonymous的FTP服务器的方法。这些服务器带有可读写的目录。木马Doly Trojan、Fore、Invisible FTP、WebEx、WinCrash和Blade Runner所开放的端口 |
3 | 22 | SSH | PcAnywhere建立的TCP和这一端口的连接可能是为了寻找ssh。这一服务有许多弱点,如果配置成特定的模式,许多使用RSAREF库的版本就会有不少的漏洞存在 |
4 | 23 | Telnet | 远程登录,入侵者在搜索远程登录UNIX的服务。大多数情况下扫描这一端口是为了找到机器运行的操作系统。还有使用其他技术,入侵者也会找到密码。木马Tiny Telnet Server就开放这个端口 |
5 | 25 | SMTP | SMTP服务器所开放的端口,用于发送邮件。入侵者寻找SMTP服务器是为了传递他们的SPAM。入侵者的帐户被关闭,他们需要连接到高带宽的E-MAIL服务器上,将简单的信息传递到不同的地址。木马Antigen、Email Password Sender、Haebu Coceda、Shtrilitz Stealth、WinPC、WinSpy都开放这个端口 |
6 | 80 | HTTP | 用于网页浏览。木马Executor开放此端口 |
7 | 110 | POP3 | POP3服务器开放此端口,用于接收邮件,客户端访问服务器端的邮件服务。POP3服务有许多公认的弱点。关于用户名和密码交 换缓冲区溢出的弱点至少有20个,这意味着入侵者可以在真正登陆前进入系统。成功登陆后还有其他缓冲区溢出错误 |
5)网站存在不良信息
违反法律类:互联网上的违反法律类信息涉及很多种类,大致包括淫秽、色情、暴力等低俗信息;赌博、犯罪等技能教唆信息;毒品、违禁药品、刀具枪械、监听器、假证件、发票等管制品买卖信息;虚假股票、信用卡、彩票等诈骗信息,以及网络销赃等多方面内容。最为突出的就是淫秽色情类低俗信息。
违反道德类:违反道德类信息是指违反社会主义精神文明建设要求、违背中华民族优良文化传统与习惯以及其它违背社会公德的各类信息,包括文字、图片、音视频等等。法律是最低标准的道德,道德是最高标准的法律。虽然违反道德类信息仅违背一般的道德准则,会受到主流道德规范的谴责和约束。但是,违反道德类信息一旦“过头”,造成了严重的后果和影响,就很容易演变为“违反法律类”信息。
破坏信息安全类:破坏信息安全类信息是指含有病毒、木马、后门的高风险类信息,对访问者电脑及数据构成安全威胁的信息。 2008年的病毒数量继续暴增,比2007年增长12倍以上。由于病毒的网络化,使得网页浏览成为病毒传播的最主要渠道,网页挂马占到病毒传播总量90%以上。而且,由于应用软件漏洞、浏览器插件漏洞等频发,仅依靠网民自身的安全意识,很难应对这类高风险信息。