1.因输出值转义不完全引发的安全漏洞
- 跨站脚本攻击( Cross-Site scripting, XSS)
— 指在浏览存在安全漏洞的web 网站的用户的浏览器内,运行非法的HTML标签或JavaScrip 代码的一种攻击。动态创建的HTML 部分有可能隐藏着安全漏洞,攻击者编写脚本设下陷阱,用户在自己的浏览器上运行时,就会受到被动攻击。
— 造成的危害
· 利用虚假输入表单骗取用户个人信息
· 利用脚本窃取用户的cookie 值,或利用用户当前所拥有的的权限,在用户不知情的情况下执行一些恶意操作
· 监听用户的键盘输入 - SQL 注入攻击(SQL lnjection)
— 指针对web 应用使用的数据库,通过运行非法的SQL 语句而产生的攻击。该漏洞可能引发极大的威胁,有时会直接导致个人信息及机密信息的泄露。
— 造成的危害
· 非法查看或篡改数据库内的数据
· 规避认证
· 在服务器上写或读取文件 - OS 命令注入攻击(OS command lnjection )
— 指通过web 应用,执行非法的操作系统命令的一种攻击。只要在调用Shell函数的地方就存在被攻击的风险。web 应用有时会调用Shell 来执行命令,如果在调用Shell 时存在疏忽,就可以执行插入的非法OS 命令。
— 造成的危害
· OS 命令注入攻击可以向Shell 发送命令,让Windows 或Linux 操作系统的命令行启动程序。所以该漏洞危害极大。 - HTTP首部注入攻击(HTTP lnjection)
— 指攻击者通过在响应首部字段内插入换行(%0D%0A) ,添加任意响应首部或主体的一种攻击。web 应用有时会把从外部接收到的数值, 赋给响应首部字段。 - 目录遍历攻击(Directory Traversal)
— 指对本无意公开的文件目录,通过非法截断其目录路径后,达成访问目的的一种攻击。通过web 应用对文件处理操作时,在由外部指定文件名的处理存在疏漏的情况下, 用户可以使用 “…/”( 上级目录) 等相对路径定位到包含隐私数据的文件上,如/etc/passwd、/etc/shadow。
— 产生的危害
· 可能非法浏览、篡改、删除web 服务器上的文件 - 远程文件包含漏洞(Remote Fi1e lnclusion)
— 指当部分脚本内容需要从其他文件读入时,攻击者利用指定外部服务器的URL充当依赖文件,让脚本读取后,可以运行任意代码的一种攻击。
— 这主要是PHP存在的安全漏洞,对PHP的include 或require 来说,这是一种可以通过设定,指定外部服务器的URL作为文件名的功能,该功能太危险,PHP5.2.0之后默认关闭此功能。
2.因设置或设计上的缺陷引发的安全漏洞
- 强制浏览(Forced Browsing)
— 指从安置在web服务器的公开目录下的文件中,浏览那些原本非自愿公开的文件。
— 造成的危害
· 泄露顾客的个人信息等重要情报
· 泄露原本需要具有访问权限的用户才可查阅的内容
· 泄露未连接到外界的文件
— 案例
· Apache配置中的lndexes选项会列举目录下的文件和子目录 - 不正确的错误消息处理(Error Handling Vulnerability)
— 指web应用的错误信息内包含对攻击者有用的信息,包括Web应用抛出的错误信息和数据库等系统抛出的错误信息等。Web应用不必在用户的浏览画面上展现详细的错误信息,对攻击者来说,详细的错误信息有可能给他们的下一次攻击给予提示。
— 案例
· Web 应用抛出的详细错误。 ( 注册、登录)
· 数据库等系统抛出的详细惜误。( 语句执行出错时)
· 脚本语言抛出的错误(PHP、Python、ASP、JSP等) - 开放重定向(Open Redirect)
— 开放重定向是一种对指定的任意URL作为重定向跳转的功能。于此功能相关联的安全漏洞指,假如指定重定向URL到某个具有恶意的Web网站,那么用户就会被诱导至那个Web网站。
— 造成的危害
· 可信度高的Web网站如果开放重定向功能,则很可能被攻击者选中并作为钓鱼攻击的跳板。
· 可以利用此功能进行服务端请求伪造攻击(Server-Side Request Forgery),达到探测和访问内网资源的目的。 - 会话劫持(Session Hijack)
— 指攻击者通过某种手段拿到了用户的会话ID,并非法使用此会话ID伪装成用户,达到攻击的目的。
— 会话劫持的途径
· 通过非正规的生成方法推测会话ID
· 通过XSS攻击盗取会话ID
· 通过ARP中间人攻击盗取会话ID - 跨站伪造请求(Cross-Site Request Forgeries,CSRF)
— 指攻击者通过设置好的陷阱,利用已认证用户的权限,来发送对于被攻击者来说非预期但是攻击者期望的请求。
— 案例
· 在留言板发布包含CSRF攻击意图的恶意链接,管理员在后台审核时点击。
· 在登录了社交应用后,点击恶意链接就关注了某人,或者发送了动态。
3.其它安全漏洞
- 密码破解(Password Cracking)
— 对Web应用的认证模块进行密码的猜解,该攻击不仅限于Web应用,FTP、SSH应用也适用。
— 密码破解的手段
· 通过网络的密码猜解
··· 枚举法(手机验证码)
··· 字典攻击(社会工程学)
· 对已加密密码的破解(已获得加密或散列处理的密码)
··· 通过枚举法
··· 彩虹表(通过枚举法事先制作好一张数据表)
··· 获取泌钥
··· 加密算法本身的漏洞( CBC 字节反转攻击, 长度扩展攻击) - 点击劫持(Clickjacking)
— 指利用透明的按钮或链接做成陷阱,覆盖在Web页面之上。然后诱使用户在不知情的情况下点击并访问内容的一种攻击手段。 - 拒绝服务攻击(Denial of Service attack,DoS)
— 是一种让运行中的服务呈停止状态的攻击。集中利用访问请求造成服务器资源过载(CPU占用率100%,内存耗尽)
— 使用多台计算机发起的DoS攻击称为分布式拒绝服务攻击(Distribution DeniaI Of Service attack, DDoS) - 后门程序(Backdoor)
— 指开发设置的隐藏入口,可不按正常步骤使用受限功能。用来维持对被攻击主机权限的控制。
· 开发者Debug 或为了自身利益
· 攻击者上传或设置
— 常见的后门程序
· 中国菜刀
· Weevely
· Metasploit