TOP1- 주입
신뢰할 수없는 데이터가 명령어 나 질의어의 일부로써 인터프리터에 보내질 때,이 같은 SQL, NoSQL에, OS, LDAP 주입 (경량으로 주입 취약점이 일어날 디렉토리 액세스 프로토콜 ), XPath를 (XPath는이 XML 경로 언어 그것은이다 이 판단하는 방법 은 XML ( 표준 일반화 마크 업 언어 문서의 서브 세트의 일부의 언어의 총수)), HQL 주입한다.
다음과 같이 위험은 다음과 같습니다 :
주입은 데이터 손실 또는 손상, 감사 기능 또는 서비스 거부의 부족을 초래할 수 있습니다. 주입 취약점이 때로는 완전히 호스트 인수로 이어질 수 있습니다.
어떻게 방지하기 위해 :
1. 통역의 사용을 피하고, 보안 API를 사용하여
2. 특수 문자 입력 ESCAPE 탈출. 예를 들어 : LIKE '%의 XXX의 %'ESCAPE '는 xxx는'
사용 ESCAPE 키워드는 이스케이프 문자 "xxx는"이야기 정의하는 DBMS (%) 실제 값으로 두 번째 퍼센트 기호보다는 와일드 카드에 검색 문자열 "%의 XXX의 %"
입력 정상화 3. 허용 목록 확인 방법
인증 및 세션 관리 (깨진 인증 실패 TOP2- )
인증 관련 및 세션 관리 응용 프로그램의 기능은 종종 제대로 패스워드, 키, 세션 토큰 또는 구현 결함을 파괴 할 수있는 공격자의 결과로 구현되지 않은 관련이 다른 사용자의 ID를 가정합니다.
다음과 같이 위험은 다음과 같습니다 :
이러한 취약점 공격이 성공하면 공격을 받고 계정의 일부 또는 전부가, 공격자가 합법적 아무것도 할 수 있습니다 될 수 있습니다
어떻게 방지하기 위해 :
1. 내장 세션 관리 기능
2. 인증 인사
3. 단일 진입 점의 사용
4. 확인 웹 페이지 SSL 로그인 처음부터 보호합니다
TOP3-XSS (크로스 사이트 스크립팅 공격)
크로스 사이트 스크립팅은 종종,이 코드는 HTML 코드와 클라이언트 측 스크립트를 포함하는 사용자에게 다른 페이지에 제공하기 위해 웹 사용자에 악성 코드를 허용 웹 애플리케이션에서 보안 구멍이다. XSS 해커 커뮤니티는 공공 지식이 새로운 "버퍼 오버 플로우 공격"
다음과 같이 위험은 다음과 같습니다 :
공격자는 등 사용자의 브라우저를 납치하고 악의적 인 소프트웨어를 사용하여, 사용자 세션을 납치 피해자의 브라우저에서 스크립트를 실행 악의적 인 내용을 삽입, 사용자를 리디렉션합니다.
종 :
存储型,反射型,DOM型
如何防范:
1.验证输入
2.编码输出(用来确保输入的字符被视为数据,而不是作为html被浏览器所解析)
TOP4-不安全的对象直接引用
一个已经授权的用户通过更改访问时的一个参数,从而访问到原本其并没有得到授权的对象。
危害如下:
这种漏洞可以损坏参数所引用的所有数据
如何防范:
1.使用基于用户或会话的间接对象访问,这样可防止攻击者直接攻击为授权资源
2.访问检查:对任何来自不受信源所使用的所有对象进行访问控制检查
3.避免在url或网页中直接引用内部文件名或数据库关键字
4.验证用户输入和url请求,拒绝包含./ ../的请求
TOP5-跨站请求伪造(CSRF)
跨站请求伪造,攻击者通过用户的浏览器注入额外的网络请求,破坏网络会话的完整性。浏览器的安全策略是允许当前界面发送到任何地址,因此也意味着如果用户浏览了自己无法控制的资源时,攻击者可以通过控制页面的内容来控制浏览器,发送其精心构造的请求,这些精心构造的请求很难和合法的请求区分开。
危害如下:
攻击者可以让受害者用户修改任何允许修改的数据,执行任何用户允许的操作,例如修改密码,登录注销等。
如何防范:
1.给每个HTTP请求添加一个不可预测的令牌,并保证该令牌对每个用户会话来说是唯一的。
最好的办法就是将独有的令牌包含在隐藏字段中,通过HTTP请求发送,避免在URL中暴露出来。
2.要求用户重新认证或判断他们是一个真实的用户。
TOP6-安全配置错误
安全配置错误可以发生在一个应用程序堆栈的任何层面,包括平台,web服务器,应用服务器,数据库,架构和自定义的代码。攻击者通过访问默认账户,未使用的网页,未安装的补丁的漏洞,未被保护的文件和目录等,以获得对系统为授权的访问。
危害如下;
系统可能在未知的情况下被完全攻破,用户数据可能随着时间被全部盗走或篡改。甚至导致整个系统被完全破坏
如何防范:
1.自动化安装部署
2.及时了解并部署每个环节的软件更新和补丁信息
3.实施漏洞扫描和安全审计
TOP7-限制URL访问失败(缺少功能级访问控制)
这个漏洞也是与认证相关的,这种漏洞具体是指在系统已经对url的访问做了限制的情况下,但这种限制并没有生效。常见的例子是系统没有对用户进行角色的检查,以及用户通过修改URL的action并指向未被授权页面就能访问该页面同样是个漏洞
危害如下:
攻击者很容易就能把网址改成享有特权的网页,这样就可以使用匿名或普通用户访问未授保护的私人页面,从而提升未授权功能和相关数据信息
如何防范:
1.检查管理权限的过程并确保能够容易进行升级和审计
2.默认缺省情况下,应该拒绝所有访问的执行权限。对于每个功能得访问,需要明确的角色授权
3.检查每个功能分配的权限合理有效
TOP8-未验证的重定向和转发
在Web应用中重定向是极为普通的,并且通常重定向所引发的目的是带有用户输入参数的目的url,而如果这些重定向未被验证,那么攻击者就可以引导用户访问他们想要用户访问的站点。
同样,转发也是极为普遍的,本质上转发是在同一个应用中对一个新页面发送请求,并且有时是用参数来定义目标页面的。同样,如果参数未被验证,那么攻击者就可以利用其来绕过认证或是授权检查
危害如下:
攻击者通过重定向可以试图安装恶意软件或诱使受害人泄露密码等铭感信息,通过转发可以绕过访问限制
如何防范:
1.避免使用重定向和转发
2.如果使用了,不要在确定目标时涉及到用户参数
3.如果无法避免使用用户参数,则应确保目标参数值对于当前用户是有效的并已授权
如果是需要登录的,可以从session当中获取登录信息,然后判断
TOP9-应用已知漏洞的组件
组件(例如库,框架和其他软件模块)以与应用程序相同的权限运行。如果利用易受攻击的组件,这种攻击可能会导致严重的数据丢失或服务器接管。使用具有已知漏洞的组件的应用程序和API可能会破坏应用程序防御并实现各种攻击和破坏。
如何防范:
1.识别正在使用的组件和版本,包括所有的依赖
2.更新组件或引用的库文件到最新
3.建立安全策略来管理组件的使用
TOP10-敏感信息暴露
由于代码编写不严谨或应用固有的功能,造成网站服务器信息被非法获取,属于一种低危漏洞。
TOP1-注入
[TOP1-zhùrù]
TOP1-injection