根据不同类型的攻击:getpostcookie,采取不同的防御机制

特点:

 1.GET和POST的区别

  A. 从字面意思和HTTP的规范来看,GET用于获取资源信息而POST是用来更新资源信息。

  B. GET提交请求的数据实体会放在URL的后面

  C. GET提交的数据长度是有限制的,因为URL长度有限制,具体的长度限制视浏览器而定。而POST没有,所以提交大量数据选用post

  D. GET提交的数据不安全,因为参数都会暴露在URL上。

 

 2.Cookie和Session的区别和联系

  Cookie和Session都是为了保存客户端和服务端之间的交互状态,实现机制不同,各有优缺点。

  首先一个最大的区别就是Cookie是保存在客户端而Session就保存在服务端的。

  Cookie是客户端请求服务端时服务器会将一些信息以键值对的形式返回给客户端,保存在浏览器中,交互的时候可以加上这些Cookie值。用Cookie就可以方便的做一些缓存。Cookie的缺点是大小和数量都有限制;Cookie是存在客户端的可能被禁用、删除、篡改,是不安全的;Cookie如果很大,每次要请求都要带上,这样就影响了传输效率。

      Session是基于Cookie来实现的,不同的是Session本身存在于服务端,但是每次传输的时候不会传输数据,只是把代表一个客户端的唯一ID(通常是JSESSIONID)写在客户端的Cookie中,这样每次传输这个ID就可以了。Session的优势就是传输数据量小,比较安全。但是Session也有缺点,就是如果Session不做特殊的处理容易失效、过期、丢失或者Session过多导致服务器内存溢出,并且要实现一个稳定可用安全的分布式Session框架也是有一定复杂度的。在实际使用中就要结合Cookie和Session的优缺点针对不同的问题来设计解决方案。

攻击方式:

1、get提交的攻击

例子: 172.16.7.88?changepassword=admin&dosurepassword=admin&action=change;  设置陷阱,当用户登陆后,伪造一个地址,修改用户名和密码,获得登录后台权限

进入后台,上传一句话木马,一句话目的客户端是 中国菜刀,通过中国菜刀进入系统,获取系统文件

2、针对post的攻击【待更新】

3、针对cookie的攻击

利用工具,监听,截取cookie,两种方式,一种直接攻击,另一种是重放攻击

重放攻击:现在突然间忘了重放攻击是怎么个原理了。

  获取cookie,send to repertor, 预登陆,修改上传的参数,传到服务器,由于brupsuit无法直接跳转页面,所以需要重新关闭代理服务器,通过response服务器返回的信息,来判断是否成功登陆。

防御:

  1、get:通过一些函数过滤掉特殊字符、特殊的等式

  2、post:【待更新】

      3、cookie:cookie在客户端,为了避免重放攻击,在客户端需要加入新鲜因子,并且在服务器端还需要重新验证。

原文地址:https://www.cnblogs.com/Erma/p/7212332.html