图解http协议(4)—常见的几类攻击手段
攻击的对象
当前web常说的各种技术攻击,针对的攻击对象,并不是http协议本身,而是使用协议的客户端和服务器端。主要是运行在服务器上的web应用为重点攻击对象,主要是透过web应用有可能获取此web系统的管理权限或底层的数据库中的一些敏感信息。
注:清楚了一些用户的敏感数据需加密存储的原因,且要获得还需要验证相应的票据,均为了减低数据库不被他人轻易获得的概率。
目前常用的一些攻击技术
web应用的一些攻击模式
1.以服务器为目标的主动攻击:将攻击的代码直接嵌入到访问web应用的链接里,主动向web应用发起攻击。常见的攻击手段为sql注入攻击和os命令注入攻击。
1)sql注入攻击:攻击对象是web应用使用的数据库。通过在发送给web应用的链接中传入非法的sql语句,以此获取数据库内一些信息和修改这些信息等目的,从而对用户造成不同程度的影响。
例子:
正常操作:页面搜索部分内容的时候[q=上野宣],URL链接中会将传入的字段[上野宣],查询select语句查询获得此字段的所有内容。[select * from xx where s1=‘上野宣’ and flag = 1;]
sql攻击:页面搜索部分内容的时候[q=上野宣],URL链接修改传入的字段[上野宣’—],查询select语句查询获得此字段的所有内容。[select * from xx where s1=‘上野宣’ —‘and flag = 1;]注:flag=1条件此时将会被忽略。
2)os命令注入攻击:通过向shell传入一些操作系统相关的指令,让服务器运行相应的操作,以此获得一些非法的内容。
例子:
用户在邮件内提交了自己的用户名和密码,期望向服务器获取相应的返回。
图解http协议(4)—常见的几类攻击手段2.以服务器为目标的被动攻击:诱导用户点击一些陷阱[已嵌入攻击代码的http请求],用户会在不知情的情况下把含有攻击性的代码传给待攻击的web应用。此时若web应存在这块的相关的安全漏洞,则此web应用会变成跳板可使攻击者获取用户持有的cookie的被窃取等后果。常见的攻击手段为跨站脚本攻击和跨站点请求伪造。
1)跨站脚本攻击(XSS):在浏览器内运行非法的html标签或者javascript代码,用户在浏览器运行时,不知情的情况下点击到这部分内容时则会被动向web应用发起攻击。
例子:
用户不小心点击了包含陷阱的代码后,前端展示来看并无任何差异,但实际上用户在做一系列正常的操作时,相应的一些用户名/密码/cookie等信息也同步发给了攻击者的网站上,造成信息的泄漏。
2)跨站点请求伪造(CSRF):攻击者通过设置好的陷阱,强制对已完成认证的用户进行非预期的个人信息或设定信息等某些状态更新,属于被动更新。
例子:
电商网站上需登录态下才能进行商品的买卖,通过布置的陷阱,会造成用户并未准备购买的物品出现在购物车内,造成了一定的不好影响。
其它一些安全漏洞
1.密码破解
1)通过网络的密码试错
通过遍历大量的密码,得出一个正确的密码,达到认证的目的。目前常用手段的是穷举法和字典攻击,两者的区别在于穷举法是指对所有密钥集合构成的密钥空间进行穷举,优点是一定可以找到正确的密码,缺点是花费时间过多;而字典攻击是先根据用户的一些信息,选择一些候选密码,根据这些密码排列组合后找到密钥,优点是花费时间过少,缺点是不一定能找到正确的密码,如果候选密码选择有误的话。
注:可以增加限频的方式,如一个小时仅可输错10次,10次以上不管输入正确与否均提示输入过于频繁,请稍后再试的方式来延缓密码被攻破的可能性。
2)对已加密密码的破解
通过解码的方式将经过加密后的数据还原成明文,以目前的加密手段想要拿到解密的密钥存在一定的困难。
2.dos攻击:让运行中的服务呈现停止状态的攻击,攻击对象不仅限于web网站,还包括网络设备及服务器等。
1)集中利用访问请求造成资源过载,资源用尽的同时,实际上服务也就呈停止状态。即发放大量的合法请求,服务器无法判断哪些是合法的请求,哪些是非法的,因为服务器很难预防dos攻击。
2)通过攻击安全漏洞使服务停止
注:多台计算机发起的dos攻击称为DDos攻击,通常会利用那些感染病毒的计算机作为攻击者的跳板。