您的位置:首页 > 理论基础 > 计算机网络

HTTP学习笔记13 Web的攻击技术

2018-02-28 20:55 274 查看
HTTP是一个通用的单纯协议机制,其虽具备多种优势,但其没有必要的安全功能。通过URL查询字段或表单、HTTP首部、Cookie等途径把攻击代码传入HTTP请求报文中,若此时Web应用存在安全漏洞,就会造成信息泄露和窃取。

针对Web应用的攻击模式

主动攻击:攻击者通过**直接访问**Web应用、把攻击代码传入的攻击模式。具有代表性的为SQL注入攻击和OS注入攻击

被动攻击:利用圈套策略执行攻击代码的攻击模式,其不直接对Web应用访问发起攻击。具有代表性的为跨站脚本攻击和跨站点请求伪造。利用被动攻击,可发起对原本互联网上无法直接访问的企业内网等网络的攻击。

因输出值转义不完全引发的安全漏洞

跨站脚本攻击(Cross-Site Scripting,XSS)

通过存在安全漏洞的Web网站注册用户的浏览器内运行非法的HTML标签或JavaScript的一种被动攻击

可能造成以下影响:

利用虚假输入表单骗取用户信息

利用脚本窃取Cookie值,帮助攻击者发送恶意请求

显示伪造的文章或图片

SQL注入攻击(SQL Injection)

针对Web应用使用的数据库,通过运行非法的SQL而产生攻击的一种主动攻击

可能造成以下影响:

非法查看或篡改数据库内的数据

规避认证

执行和数据库服务器业务关联的程序等

OS命令注入攻击(OS Command Injection)

通过Web应用,执行非法的操作系统命令的一种主动攻击

可能造成的影响:通过向Shell发送命令,执行OS上的各种程序等

HTTP首部注入攻击(HTTP Header Injection)

攻击者通过在响应首部字段内插入换行符(%0D%0A),添加任意响应首部或主体的一种被动攻击。向主体内添加内容的攻击称为HTTP响应截断攻击(HTTP Response Splitting Attack)

示例:

原本请求首部

Location:http://www.example.com/a.cgi?q=12345
Set-Cookie:UID=123456789


攻击者将以下内容作为查询内容替换后

101%0D%0ASet-Cookie:+SID=123456


攻击者的Set-Cookie字段已生效

Location:http://www.example.com/a.cgi?q=101(%0D%0A 攻击者插入的换行符)
Set-Cookie:SID=123456
Set-Cookie:UID=123456789


可能造成的影响:

设置任意的Cookie信息

重定向至任意URL

显示任意的主体(HTTP响应截断攻击,插入两个换行符)

邮件首部注入攻击(Mail Header Injection)

在Web应用中的邮件发送功能,攻击者通过向邮件首部To或Subject内任意添加非法内容发起的一种主动攻击模式。其与HTTP首部注入攻击类似,通过换行符%0D%0A注入非法的首部

可能造成的影响:改写To和Subject等任意邮件首部,向文本添加附件等

目录遍历攻击(Directory Traversal)

指对本无意公开的文件目录,通过非法截断其目录路径后,达成访问目的地一种主动攻击。在由外部指定文件名的处理存在疏漏的情况下,攻击者使用“../ ”等相对路径即有可能访问服务器的任意文件和文件目录。建议设置访问权限。主动攻击

可能造成的影响:非法浏览,篡改,删除Web服务器上的文件

远程文件包含漏洞(Remote File Inclusion)

当部分脚本内容需要从其他文件读入时,攻击者利用指定外部服务器的URL充当依赖文件,让脚本读取之后,就可运行任意脚本的一种攻击。这主要是PHP存在的安全漏洞,对PHP的include或require来说,这是一种可通过设定,指定外部服务器的URL作为文件名的功能。被动攻击

因设置或设计上的缺陷引发的安全漏洞

强制浏览(Forced Browsing)

从安置在Web服务器的公开目录下的文件中,浏览那些原本非自愿公开的文件。通过推测URL等方法直接通过URL访问原本必须经过认证才能在Web页面上使用的文件(HTML文件、图片、PDF等文档、CSS以及其他数据等),主动攻击

不正确的错误消息处理(Error Handling Vulnerability)

Web应用的错误信息内包含对攻击者有用的信息。Web应用不必在用户的浏览画面上展现详细的错误消息。对攻击者来说,详细的错误消息有可能给他们下一次攻击以提示。

开放重定向(Open Redirect)

是一种对指定的任意URL作重定向跳转的功能。而于此功能相关联的安全漏洞是指,假如指定的重定向URL到某个具有恶意的Web网站,那么用户就会被诱导至那个Web网站。被动攻击

http://example.com/?redirect=http://www.tricorder.jp


攻击者将重定向的参数改写为已设好陷阱的Web网站链接

http://example.com/?redirect=http://hackr.jp


因会话管理疏忽引发的安全漏洞

会话劫持(Session Hijack)

攻击者通过某种手段拿到了用户的会话ID,并非法使用此会话ID伪装成用户,达到攻击目的的主动攻击

攻击者可获得会话ID的几种途径:

通过非正规的生成方法推测会话ID

通过窃听或XSS攻击盗取会话ID

通过会话固定攻击强行获取会话ID

会话固定攻击(Session Fixation)

对以窃取目标会话ID为主动攻击手段的会话劫持而言,会话固定攻击攻击会强制用户使用攻击者指定的会话ID,属于被动攻击

跨站点请求伪造(Cross-Site Request Forgeries,CSRF)

指攻击者通过设置好的陷阱,强制对已完成认证的用户进行非预期的个人信息或设定信息等某些状态更新,属于被动攻击



其他安全漏洞

密码破解(Password Cracking)

算出密码,突破认证,主要包括以下2种手段:

通过网络的密码试错

对已加密密码的破解(尝试调用相同的散列函数加密候选密码或使用彩虹表,与目标散列值匹配类推出密码)

试错方法:

- 穷举法(Brute-force Attack,又称暴力破解法):对所有密钥集合构成的密钥空间(Keyspace)进行穷举

- 字典法:利用事先收集好的候选密码(经过各种组合方式后存入字典),枚举字典中的密码,尝试通过认证的一种攻击手法

点击劫持(Click jacking)

利用透明的按钮或链接做成陷阱,覆盖在Web页面之上。然后诱使用户在不知情的情况下,点击那个链接访问内容的一种攻击手段。这种行为又称为界面伪装(UI Redressing)

Dos攻击(Denial of Service attack)

一种让运行中的服务呈停止状态的攻击。有时也叫做服务停止攻击或拒绝服务攻击。DoS攻击的对象不仅限于Web网站,还包括网络设备及服务器等

主要包括以下两种Dos攻击方式:

集中利用访问请求造成资源过载

通过攻击安全漏洞使服务停止

多台计算机发起的DoS攻击称为DDoS攻击(Distributed Denial of Service attack)。DDoS攻击通常利用那些感染病毒的计算机作为攻击者的攻击跳板

后门程序(Backdoor)

开发设置的隐藏入口,可不按正常步骤使用受限功能。利用后门程序就能够使用原本受限制的功能。

通常的后门程序分为以下3种类型:

开发阶段作为Debug调用的后门程序;

开发者为了自身利益植入的后门程序;

攻击者通过某种方法设置的后门程序
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: