1、HTTP是一个通用的单纯协议机制,在安全性方面是劣势。
2、在客户端可以自由的变更、篡改:
a) 如果在HTTP报文内加载攻击代码,就会把Cookie、HRL查询字段或者表单传回攻击人
3、攻击模式
a)主动攻击:以服务器为目标
代表有SQL注入攻击、OS命令注入攻击
b)被动攻击:利用圈套策略执行攻击代码
代表有跨站脚本攻击、跨站点请求伪造
利用用户的身份攻击企业的内网
4、因输出值转义不完全引发的安全漏洞
a) Web应用的安全对策大致分为两部分
i. 客户端验证
ii. 服务器端验证:输入值验证、输出值转义
b) 跨站脚本攻击(XSS)
通过存在安全漏洞的Web网站注册用户的浏览器内运行非法的HTML标签或者JS进行的一种攻击
可能造成的影响:
利用虚假的输入表单骗取用户个人信息
利用脚本窃取用户的Cookie值
攻击者发送恶意请求
显示伪造的文章或图片
XSS是攻击者利用预先设置的先进触发的被动攻击
比如在地址栏中URI的查询字段指定ID,相当于在表单内自动填写字符串的功能,这里隐藏着XSS漏洞。对用户Cookie的窃取攻击
执行恶意脚本也可以获取Cookie
c)SQL注入攻击
影响:
非法查看或篡改数据库内的数据
规避认证
执行和数据库服务器业务关联的程序
SQL是攻击者将SQL语句改变成开发者意想不到的形式达到破坏结构的攻击
d) OS命令注入攻击
是指通过web应用,执行非法的操作系统命令达到攻击目的
只要能调用shell函数的地方就有存在被攻击的风险,从web应用调用操作系统命令,倘若调用shell时存在疏漏,就可以执行插入非法的OS命令。
e) HTTP首部注入攻击
攻击者在首部字段内插入换行,添加任意响应首部或主体的一种攻击,属于被动攻击模式。
造成影响:
设置任何Cookie信息
重定向至任意URL
显示任意的主体(HTTP响应截断攻击)
f) HTTP响应截断攻击
利用两个换行可以显示伪造的主体,达到攻击目的。
g) 邮件首部注入攻击
利用邮件首部To或者Subject内任意添加非法内容发起攻击。
h) 目录遍历攻击
对本无意公开的文件目录,通过非法截断其路径后,达成访问目的的一种攻击
i) 远程文件包含漏洞
当脚本内容需要从其他文件读入的时候,攻击者利用指定外部服务器的URI充当依赖文件,让脚本读取之后,就可运行任意脚本的一种攻击。
j) 因设置或设计上的缺陷引发的安全漏洞
强制浏览可能造成的影响:
泄露顾客的个人信息等重要情报
泄露原本需要具有访问权限的用户才可查阅的信息内容
泄露未外连到外界的文件
不正确的错误消息处理
指Web应用的错误信息内包含对攻击者有用的信息
主要错误信息有:
Web应用抛出的错误信息
数据库等系统抛出的错误信息
Web服务器的错误
开放重定向
对指定的任意URL作重定向跳转的功能,与此功能相关联的安全漏洞是
指,加入重定向URL到某个具有恶意的Web网站,那么用户就会被诱导至那个Web网站。
k) 因会话管理疏忽引发的安全漏洞
会话劫持:某种手段拿到了用户的会话ID,并非法使用此会话ID伪装成用户,达到攻击目的
获取会话ID的途径:
非正规的生成方法监测会话ID
窃听或XSS攻击盗取会话ID
通过会话固定攻击强行获取会话ID
跨站点请求伪造
攻击者设置好陷阱,强制对已完成认证的用户进行非预期的个人信息或设
定信息等状态更新,属于被动攻击。
l) 其他安全漏洞
密码破解:分两种通过网络的密码试错、对已加密密码的破解
对网络的密码试错:
穷举法:对密钥集进行穷举
字典攻击:事先收集好候选密码,尝试通过认证
对已加密密码的破解:
穷举法,字典攻击进行类推:用相同的散列函数,把计算出的散列值与目标进行匹配,类推出密码。
彩虹表:由明文密码与之对应的散列值构成的一张数据库表,缩短时间。
拿到密钥:如果是共享密钥,拿到密钥就可以解密了。
加密算法的漏洞:
m) 点击劫持
利用透明的按钮或链接做成陷阱,用户不知情的情况下,点击链接访问内容。
n) DoS攻击
让运行中的服务呈停止状态,
主要有一下两种DoS攻击方式
集中利用访问请求造成资源过载,资源用尽,服务停止
通过攻击安全漏洞使服务停止
利用多台计算机发起的DoS攻击称为DdoS攻击。
o) 后门程序
开发设置的隐藏入口,可以不按照正常步骤,使用原本受限的功能
通常分三种类型:
开发阶段作为Debug调用的后门程序
开发者为自身利益植入的后门程序
攻击者通过某种方法设置的后门程序