攻击目标:应用HTTP协议的服务器和客户端,以及运行在服务器上的Web应用等资源。
目前互联网的攻击大多将Web应用作为攻击目标。
不安全的HTTP
现今几乎所有Web网站都会使用会话(session)管理、加密处理等安全性方面的功能,而HTTP协议内并不具备这些功能。因此,需要开发者自行设计并开发认证及会话管理功能来满足Web应用的安全需求。这意味着没有一个统一的实现,安全等级并不完备,Web应用背后仍存在各种易被攻击者利用安全漏洞的Bug。
攻击模式
主动攻击:攻击者通过直接访问Web应用,把攻击代码传入,直接对服务器上的资源进行攻击。具有代表性的攻击是SQL注入攻击和OS命令注入攻击。
被动攻击:利用圈套执行攻击代码的模式,主要攻击用户的资源和权限。代表性的有跨站脚本攻击和跨站点请求伪造。
利用被动攻击,可发起对原本从互联网上无法直接访问的企业内网等网络的攻击。只要用户踏入攻击者预先设好的陷阱,在用户能够访问到的网络范围内,即使是企业内网也同样会受到攻击。
安全漏洞
因输出值转义不完全引发的安全漏洞
-
跨脚本攻击(Cross-Site Scripting, XSS)
通过存在安全漏洞的Web网站注册用户的浏览器内运行非法的HTML标签或JS脚本进行的一种攻击。
XSS属于被动攻击,
通过URL查询字段或表单、HTTP首部、Cookie等途径把攻击代码传入。 -
SQL注入攻击
SQL是用来操作关系型数据库管理系统(RDBMS)的数据库语言,可进行操作数据或定义数据等。这些数据库系统都可以把SQL作为数据库语言使用。
使用数据库的Web应用,通过某种方法将SQL语句传给RDBMS,再把RDBMS返回的结果灵活地使用在Web应用中。
如果在调用SQL语句的方式上存在疏漏,就有可能执行被恶意注入非法SQL语句,SQL注入攻击有可能会造成:非法查看或篡改数据库内的数据;规避认证;执行和数据库服务器业务关联的程序等。 -
OS命令注入攻击
指通过Web应用,执行非法的操作系统命令达到攻击的目的,只要在能调用Shell函数的地方就有存在被攻击的风险。
OS命令注入攻击可以向Shell发送命令,让Windows或Linux操作系统的命令行启动程序。也就是说,通过OS注入攻击可执行OS上安装着的各种程序。 -
HTTP首部注入攻击
HTTP首部注入攻击是指攻击者通过在响应首部字段内插入换行符%0D%0A%,添加任意响应首部或主题的一种攻击。属于被动攻击。
将一个换行符%0D%0A%插入,可添加首部字段,如Set-Cookie。
将两个换行符%0D%0A%%0D%0A%插入,可伪造成主体,浏览器会显示伪造伪造的Web页面,这种攻击叫做HTTP响应截断攻击。 -
邮件首部注入攻击
-
目录遍历攻击
是指对原本无意公开的文件目录,通过非法截断其目录路径后,达成访问目的的一种攻击。 -
远程文件包含漏洞
因设置或设计上的缺陷引发的安全漏洞
-
强制浏览
指从安置在Web服务器的公开目录下的文件中,浏览那些原本非自愿公开的文件。 -
不正确的错误信息处理
-
开放重定向
指对指定的任意URL作重定向跳转的功能。假如指定的重定向URL到某个具有恶意的Web网站,那么用户就会被诱导至那个Web网站。
因会话管理疏忽引发的安全漏洞
会话管理是用来管理用户状态的必备功能,但如果在会话管理上有所疏漏,就会导致用户的认证状态被窃取等后果。
- 会话劫持
攻击者通过某种手段拿到了用户的会话ID,并非法使用此会话ID伪装成用户,达到攻击的目的。 - 会话固定攻击
指会话固定攻会强制用户使用攻击者指定的会话ID,属于被动攻击。 - 跨站点请求伪造
指攻击者通过设置好的陷阱,强制对已完成认证的用户进行非预期的个人信息或设定信息等某些状态更新,属于被动攻击。
其他安全漏洞
- 密码破解
即算出密码,突破认证。该攻击不仅限于Web应用,还包括其他系统(如FTP或SSH等)。
密码破解手段:网络的密码试错(穷举法或字典攻击);对已加密密码的破解(指攻击者入侵系统,已获得加密或散列处理的密码数据的情况)。 - 点击劫持
指利用透明的按钮或链接做成陷阱,覆盖在Web页面之上,然后诱导用户在不知情的情况下, 点击那个链接访问内容的一种攻击手段。这种行为又被称为界面伪装。 - DoS攻击
一种让运行中的服务呈停止状态的攻击。该攻击的对象不仅限于Web网站,还包括网络设备及服务器等。
DoS主要有两种攻击方式:发送大量合法请求造成资源过载,资源用尽的同时,实际上服务也呈停止状态;通过攻击安全漏洞使服务停止。 - 后门程序
指开发设置的隐蔽入口,可不按正常步骤使用受限功能。利用后门程序就能够使用原本受限制的功能。
网友评论