javaweb-cs应用交互安全

                javaweb-cs应用交互安全

修改请求头验证xss

  Tamper Data修改请求头

  moify Headers自定义的修改headers:自定义要修改的headers部分,然后save.然后点击start状态

修改请求头的作用是某些业务逻辑下需要去记录用户的请求头信息到数据库,通过伪造请求头到数据库就可能造成xss和注入漏洞

   通过java代码修改请求头 : 设置setRequestProperty

session

  session声明周期

 

 1.session默认过期时间为30min,最大时间为1天

2.服务器重启或者关闭session失效

浏览器关闭后session并不会失效,只是浏览器关闭回去记忆关闭前客户端和服务端之间的session信息。因为没有缓存到cookie中,重新打开浏览器后不会带着关闭前sessionid去访问服务器url

当关闭tomcat服务器时,tomcat会在安装目录workCatalinalocalhost项目名下建立session.ser文件,此文件就是session持久化到硬盘中的文件。tomcat重新启动后session.ser会被重新反序列化到内存中,启动后此文件会消失,不过前提是session的对象是可以被序列化的

当客户端禁用cookie后:

  1.将sessionid通过url传递

  2.将session id 写在表单的隐藏域中,在表单提交时将session id 提交上去

盗取sessionid的攻击叫做sessionfixation攻击

防范方法:session会话加ip控制,增加tooken验证

   cookie发布是通过扩展http协议实现的,服务器通过在http的响应头中加上一行特殊的指示提示浏览器按照提示生成cookie,客户端脚本如js也可以生成cookie。

cookie的信息可以直接通过js代码document.cookie获取当前网站的cookie信息,从而造成xss攻击,为了避免通过js代码直接获取cookie,引入了httpOnly。

httpOnly:

  通常放在cookie之后,如果设置了httpOnly属性,那么通过js脚本无法读取到cookie信息,在java中设置httpOny的方法有

1.setHttpOnly,isHttpOnly方法

2.在servlet3.0开始,通过在web.xml中添加cookie-config标签配置HttpOnly属性

<session-config>

  <cookie-config>

  <http-only>true</http-only>

  <secure>true</secure>

  </cookie-config>

</session-config>

还可以设置下session有效期

  <session-timeout>30</session-timeout>

csrf攻击

  在csrf攻击中,黑客借助受害者的cookie骗取服务器信任,但是黑客不能拿到cookie,对于服务器返回的结果,由于浏览器同源策略的限制,黑客也无法解析。

  对于csrf攻击,黑客做的就是通过构造请求改变服务器的值,而不是查询值。

   对于csrf的防御

  验证http referer字段

  referer是header的一部分,当浏览器想服务端发送请求时,浏览器会带上referer告诉服务端请求的来源。这种方法的弊端

   1.只能防御来自站外的csrf,无法防御站内的

  2.当从https站点发送请求到http站点时,浏览器不发送referer

  3.虽然不能通过客户端脚本伪造,但是可以在服务端伪造,可以被向可信任站点A发送请求对的危险站点b伪造

 

  在请求地址中加入token并验证

  token是有数字,字母随机组成的,每次生成的token必须具有唯一性且不容易被猜测。

  用户登录后,服务端会生成一个一次性的token,一般这个token会保存在服务端返回给用户页面的隐藏域中,每次用户向服务端发送操作请求时会附带上token,服务端验证这个token是否和分发给用户的token一致。如果请求中不存在token或token不正确,判定为非法请求

  在http头自定义属性并验证

csrf与xss的不同:

  xss:

构造代码-伪装代码-发送给受害者-受害者打开-攻击者获取受害者的cookie-攻击者使用受害者干坏事

  csrf:

构造代码-伪装代码-发送给受害者-受害者打开-受害者执行了恶意代码

 

 

posted @ 2017-10-09 00:15  cangqing  阅读(239)  评论(0)    收藏  举报