首页 > 其他分享 >web基础漏洞-json劫持

web基础漏洞-json劫持

时间:2023-05-29 15:47:30浏览次数:33  
标签:web 劫持 登录 json cookie jsonp 攻击者

1、定义

json劫持,有时也被称为jsonp劫持,或者划分为csrf的一种类型,说的是同一个对象。

一般csrf,是借用用户登录后的cookie凭证身份,结果是攻击者伪造提交操作类型的请求,即增删改,而几乎无法获取数据。

  • 受害者用户登录目标网站,cookie作为登录凭证,不包含token
  • 网站下存在jsonp机制,即允许非ajax跨域请求个人数据
  • 攻击者控制某第三方网站,页面中嵌入目标jsonp,受害者用户访问该页面,自动携带目标域cookie
  • 目标域本身支持jsonp,而jsonp默认支持跨域请求。因此一般不检查referer字段,返回其个人数据
  • 攻击者控制网页中,定义回调函数,将返回的受害者个人数据发送给攻击者

2、场景

(1)从前端上来说,分析jsonp场景的代码

(2)从url来说,一般包括callback关键字,但注意命名并不绝对

(3)响应为json类型,从content-type和响应体部分析。但严格来说,一般纯文本、xml的响应也有可能

(4)时间为登录后,登录凭证cookie,非token

(5)未检查referer

3、防护

(1)token

(2)检查referer

(3)严格过滤 callback 函数名及 JSON 里数据的输出。

标签:web,劫持,登录,json,cookie,jsonp,攻击者
From: https://www.cnblogs.com/wd404/p/17440617.html

相关文章

  • web基础漏洞-ssrf
    1、介绍ssrf,server-serverrequestforgery服务端对服务端的请求伪造,有时也理解为serversiderequestforgery服务端侧的请求伪造。指服务端借助用户请求中的参数,向服务器内部或者其他服务器发起请求,而这个过程对发起方是信任的,导致出现危害。攻击者发送链接,由服务端去请求。......
  • web基础漏洞-界面操作劫持
    1、介绍界面操作劫持攻击是一种基于视觉欺骗的web会话劫持攻击,它通过在网页的可见输入控件上覆盖一个不可见的框iframe,使得用户误以为在操作可见控件,而实际上用户的操作行为被不可见的框所劫持,执行不可见框中的恶意劫持代码,从而完成在用户不知情的情况下窃取敏感信息、篡改数据等......
  • javaWeb中的编码解码
    在上篇博客中LZ介绍了前面两种场景(IO、内存)中的Java编码解码操作,其实在这两种场景中我们只需要在编码解码过程中设置正确的编码解码方式一般而言是不会出现乱码的。对于我们从事java开发的人而言,其实最容易也是产生乱码最多的地方就是web部分。首先我们来看在javaWeb中有哪些地方存......
  • JSON.parse 和 JSON.stringify()
    这篇文章主要介绍了JSON.parse()和JSON.stringify()使用。parse用于从一个字符串中解析出json对象,如varstr='{"name":"huangxiaojian","age":"23"}'结果:JSON.parse(str)Objectage:"23"name:"huangxiaojian"__proto__:Object注......
  • WEB漏洞—SQL注入之查询方式及报错盲注
     前言:当进行SQL注入时,有很多注入会出现无回显的情况,其中不回显的原因可能是SQL语句查询方式的问题导致,这个时候我们需要用到相关的报错或盲注进行后续操作,同时作为手工注入时,提前了解或预知其SQL语句大概写法也能更好的选择对应的注入语句。 #补充:上课的Access暴力猜......
  • com.alibaba.fastjson.JSONException: can‘t create non-static inner class inst
    在类修饰符前面加上static即可 ......
  • Qt+QtWebApp开发笔记(四):http服务器使用Session和Cookie实现用户密码登录和注销功能
    前言  前面实现了基础的跳转,那么动态交互中登录是常用功能。  本篇实现一个动态交互的简单登录和注销功能,在Qt中使用Session和Cookie技术。 Demo  下载地址  链接:https://pan.baidu.com/s/1nkmsHgr-11Khe9k6Ntyf_g?pwd=1234 Html处理用户输入Sessi......
  • 让Web站点崩溃最常见的七大原因
       磁盘已满导致系统无法正常运行的最可能的原因是磁盘已满。一个好的网络管理员会密切关注磁盘的使用情况,隔一定的时间,就需要将磁盘上的一些负载转存到备份存储介质中(例如磁带)。日志文件会很快用光所有的磁盘空间。Web服务器的日志文件、SQL*Net的日志文件、......
  • webpack的工作流程(附带部分源码分析)
    @目录webpack的工作流程webpack的准备阶段本阶段流程和钩子modules和chunks的生成阶段module解析解析流程chunks生成文件生成阶段模板hash更新模板渲染chunk生成文件总结webpack的工作流程说明工作流程之前,先抛出两个结论:webpack的核心功能,是抽离成很多个内部插件来实现......
  • WebService的简单使用
    1.创建服务端-java项目@WebServicepublicclassMyFirstWebService{/***定义webservice服务器中的方法*@paramcontent*@return*/publicStringtestWebService(Stringcontent){System.out.println("我收到了你发的信息:"+conte......