2、HTTP响应截断攻击:将两个%0D%0A并排插入字符串后发送,利用两个连续的换行就可做出HTTP首部和主体分隔所需的空行类,这样就能显示伪造的主体,达到攻击目的。利用这种攻击方式,已触发陷阱的用户将看到伪造的Web页面,再让用户输入个人信息等,达到跨站脚本攻击相同的效果。
3、缓存污染:滥用HTTP/1.1中汇集多响应返回功能,会导致缓存服务器对任何内容进行缓存操作,使用该缓存服务器的用户,在浏览遭到攻击的网站,会不断地浏览被替换掉的Web网页。
其他攻击方式:
邮件首部注入攻击
该攻击模式是指Web应用中的邮件发送功能,攻击者通过对邮件首部To或Subject内任意添加非法内容发起的攻击。利用存在安全漏洞的Web网站,可对任意邮件地址发送广告邮件或病毒邮件。
攻击案例:攻击者将以下数据作为邮件地址发起请求,然后在后面加上%0D%0A在邮件报文中表示换行符,使用了之后,可以对邮件地址进行追加发送,使用连续两个换行符就有可能篡改邮件文本内容并发送。再以相同的方法,就有可能改写To和Subject等任意邮件首部,向文本添加附件等动作。
目录遍历攻击
目录遍历攻击是指对本无意公开的文件目录,通过非法截断其目录路径后,达成访问目的的一种攻击。
攻击模式:通过Web应用对文件操作处理时,由外部指定文件名的处理存在漏洞的情况下,用户可用../../etc/passed等相对路径定位到绝对路径上面,因此服务器上任意的文件或文件目录皆有可能被访问到。就可以去非法浏览、篡改或删除Web服务器上的文件。
远程文件包含漏洞
该攻击模式是指当部分脚本内容需要从其他文件读取时,攻击者利用指定外部服务器的URL充当依赖文件,让脚本读取后,就可运行任意脚本的一种攻击。这是PHP存在的主要安全漏洞,对PHP的include或require来说,这个功能是一种可通过设定、指定外部服务器的URL作为文件名的功能,但是由于它十分的危险,所以PHP5.2.0后默认此功能无效。
怎样会造成安全漏洞?
因设置或设计上的缺陷引发的安全漏洞
错误设置Web服务器,或是由设计上的一些问题引起的安全漏洞。
1、强制浏览
从安置在Web服务器的公开目录下的文件中,浏览那些原本非自愿公开的文件。可能会泄露顾客的个人信息、泄露原本需要具有访问权限的用户才能查阅的信息内容、泄露未外连到外界的文件。比较好的做法是:隐蔽其URL。因为直接显示易推测的文件名或文件目录索引时,通过某些方法可能会使URL产生泄露。
2、不正确的错误消息处理
Web应用的错误信息内包含对攻击者有用的信息,主要有:Web应用抛出的错误信息、数据库等系统抛出的错误信息等。
Web应用抛出的错误信息:以认证功能的认证错误信息为例,讲解不正确的错误消息处理方式。类似于当用户登陆失败的时候具体提醒用户为注册等信息,攻击者可利用这些信息确认用户是否注册。建议将提醒消息的内容仅保留在“认证错误”这种程度。
数据库等系统抛出的错误信息:输入未预料的错误消息时,提醒数据库的错误。攻击者从提醒消息可读出数据库选用的是MySQL等数据库信息,可能给SQL注入攻击提供启发。
3、开放重定向
对指定的任意URL做重定向跳转的功能,加入指定的重定向URL到某个具有恶意的Web网站,那么用户就会被诱导到那个网站。如?redirect=***.攻击者指定重定向参数就可以改写成已设定好的Web 网站对应的连接。可能用来作为钓鱼攻击的跳板。
因会话管理疏忽引发的安全漏洞
如果在会话管理上有所疏忽,就会导致用户的认证状态被窃取等后果。如会话劫持(通过一些手段拿到用户的会话ID,伪装用户达到攻击的效果)、会话固定攻击(强制用户使用攻击者指定的会话ID,属于被动攻击)等方式。