前言:
最近经常遇到json的事情,由于不懂所以系统的学习一下,记录此贴。
00x1:
JSON是啥?Java Objiect Notaton 谷歌翻译过来就是JS对象标记,是一种轻量级的数据交换格式
常用格式与python字典类似的键值对,相比于xml,json更小,更快,更容易解析,就是短,频,快。
JSON是独立于语言,与javascript的关系是使用js的语法进行数据描述对象,可以和js相互转换。
列如常见格式:
{
"site":
[
{"wode":"18cm"},{"url":"https://xxxx.com"},
{"nide":"1cm"},{"url":"http:////"},
]
}
js对象和json的相互转换:
JSON.string和JSON.parse()列如:
{"wode":"18cm","url":"https://xxxx.com","nide":"1cm","url":"http://ooo.com"}
转化为json对象:
var obj =JSON.parse({"wode":"18cm","url":"https://xxxx.com","nide":"1cm","url":"http://ooo.com"})
网页使用:
<p id="demo"></p>
<script>
var obj = JSON.parse({"wode":"18cm","url":"https://xxxx.com","nide":"1cm","url":"http://ooo.com"})
document.getElenmentById("demo").innerHTML = obj.wode+ ":" obj.url;
</script>
json有没有和字符串很像
00x3:
简单说一下json劫持:
json在传输中一般有两种的传输方式:xmlhttp传输(同域)和<script>传输(跨域)json 如果在进行跨域的情况下,一般都是前端定义,后端处理,然后再到前端调用,想象一下这个过程,如果调用的回调函数没有进行有效的安全保护,和csrf一样,利用对浏览器的信任,在受害者登陆网站拿到json返回的敏感信息了,然后点击了黑客构造恶意链接,恶意链接构造为把json数据发送到黑客服务器。简单的利用就是抓包找哪个包一般是数据交互的包返回了json敏感信息,然后访问该地址能不能访问,
给出代码直接弹出json,
<> function jsonp1(json){alert(JSON.stringify(jso))}</>
<src="json地址如:https://xxxx.com/1?callback=jsonp1>有局限性。
防御建议:
1.避免进行跨域的数据传输
2.在跨域过程中敏感数据加入对权限进行限制
2.1:referer的限制,添加token值,
3.在数据的头部加入while(1),避免数据被<script>标签应用,防止有特效的浏览器里面导致数据泄露。这个开始没有看懂是啥意思,百度一下没找到,我想了一下,while(1)的意思是无线循环。
00x4:
json注入:
说到json注入,我觉得要好好理解"标点符号:,不然注入是注入进去了但是没法执行,
json是根据引号("),冒号(:),逗号(,)和花括号:({)
闭合好前面的标点符号,然后注释掉后面的符号,和xss结合就是把xss代码注入进去然后在回调在前端后直接弹窗,json注入没啥,威胁,但是和xss结合起来就和xss一样了,不过利用条件有点难。
防御倒是很简单:
直接转义,编码,或者调用java-lib.jar组件来组建json数据。
from

json相关安全问题的更多相关文章

  1. json相关知识

    整理json相关知识: 1.for in 循环获取json中的键(key)与值(value) <!DOCTYPE html> <html lang="en"> ...

  2. plpgsql 数组、JSON相关

    Function Return Type Description Example Result array_append(anyarray,anyelement) anyarray append an ...

  3. 【接口测试】接口概念及Json相关

    一.接口相关概念 1.什么是接口? 接口:接口就是系统A程序中留的其他系统B访问系统A的接口(实际上是系统某个代码文件下某一个可访问的方法.).其他系统B可以调用这个方法a对系统A中的方法a进行访问从 ...

  4. 与JSON相关的问题

    1.JSON.stringify 与 JSON.parse 相关的问题 JSON.stringify 把字符串转化为字符串,JSON.parse把字符串转化为JSON格式 会出现的问题Unexpect ...

  5. vue.js的package.json相关问题解惑

    使用vue-cli创建vue.webpack项目,在项目中用到了iSlider移动端滑动插件,只在本地命令工具中npm install islider.js:提交之后,partner下载代码后一直运行 ...

  6. json相关类库,java对象与json相互转换

    有效选择七个关于Java的JSON开源类库 转自:http://www.open-open.com/lib/view/open1397870197828.html 翻译: (英语原文:http://w ...

  7. json相关,浏览器打开json格式的api接口时,进行格式化,chrome插件

    在chrome浏览器中安装Google jsonview插件能够自动格式化json格式的数据.

  8. JSON相关知识,转载:删除JSON中数组删除操作

    一:JSON是什么 JSONg格式:对象是一个无序的“名称/值”对的集合. 对象以括号开始,括号结束. 名称冒号分隔值. "名称/值"之间用逗号分隔 例: var people = ...

  9. json相关的一些用法

    一. json可以表示3种类型的值:   简单值 . 对象. 数组    表示对象时:>1. 没有变量的概念 ,所以不用申明变量                    >2. 没有末尾结束 ...

随机推荐

  1. vue--http请求的封装--token

    export const FetchHandler = function (url,opt) { let paramStr = ''; let token = ''; for(key in opt){ ...

  2. Good Time------打卡让生活更美好

    Section 1团队介绍 Part 1 队员信息 姓名 学号 职务 王怡镔 2016012045 组长 于鑫宇 2016012029 组员 张济吨 2016012072 组员 黄鹤 20160120 ...

  3. xterm配置

    最近转到i3wm桌面下, 发现调用xfce4-terminal有些慢,索性卸载掉一切所谓高级的终端,使用xterm,其实这个才是更牛的家伙. 安装 apt install xterm in i3-wm ...

  4. Python学习之路基础篇--09Python基础,初识函数

    函数可以分为内置函数 和 自定义函数.这次关注的主要是自定义函数.定义函数之后,就可以在任何需要它的地方调用. 1 返回值的重要性 返回值的3种情况 没有返回值 ---- 返回None 不定 retu ...

  5. 网上搜集python面试题(更新中......)

    武Sir博客拿的面试题,答案都是自己写的,多有不足,请多多指教.更新中...... 1.为什么学习Python? a.写起来快,看起来明白.作为通用性的语言,除了一些对性能要求很高的场合,几乎什么都能 ...

  6. s21day17 python笔记

    s21day17 python笔记 一.内容回顾及补充 回顾 补充 第三方模块补充 需要下载安装后才能导入使用 安装方式: pip包管理工具 # 把pip.exe 所在的目录添加到环境变量中. pip ...

  7. 修改oracle数据库内存报错

    今天修改oracle数据库内存时, alter system set memory_max_target=10240M scope=spfile;语句正确修改:但重启时却报错 : SQL> al ...

  8. 基于Linux-3.9.4内核的GDB跟踪系统调用实验

    382 + 原创作品转载请注明出处 + https://github.com/mengning/linuxkernel/ 一.实验环境 win10 -> VMware -> Ubuntu1 ...

  9. C++ 实数类

    这是一堆我自己写完都怀疑人生的代码. 或许我见识太少了吧-- 实现一个实数类.这个类也可以看作是分数类.实现了基本的四则运算和比较.另外,与整数或小数的转换还没有实现,无限循环小数转分数也暂时没有实现 ...

  10. mini-treeselect的动态赋值

    <div id="faultTree" allowdrag="false" allowdrop="true" class=" ...