跳转到帖子
  • 游客您好,欢迎来到黑客世界论坛!您可以在这里进行注册。

    赤队小组-代号1949(原CHT攻防小组)在这个瞬息万变的网络时代,我们保持初心,创造最好的社区来共同交流网络技术。您可以在论坛获取黑客攻防技巧与知识,您也可以加入我们的Telegram交流群 共同实时探讨交流。论坛禁止各种广告,请注册用户查看我们的使用与隐私策略,谢谢您的配合。小组成员可以获取论坛隐藏内容!

    TheHackerWorld官方

  • 0

黑客入门——详解json和json劫持


HACK1949

问题

黑客入门——详解json和json劫持

5fe91dbfdf093.png

1.json与jsonp

首先向大家介绍一下什么是json

"JSON( Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式。它基于 (欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。"

u=3239592325,2275453940&fm=173&app=25&f=

其实通俗来说json就是一种格式,类似于python当中的字典。

举个简单的例子{"id" : "1","name" : "小明"},这个就是一个简单的json,然后我们要介绍的是jsonp。

Jsonp(json with padding)是基于 JSON 格式的为解决跨域请求资源而产生的解决方案,远程调用 JSON 文件来实现数据传递。

再举一个例子

"<?php

$callback = $_GET['callback'];

print $callback . '({"id" : "1","name" : "小明"});';

?>"

这里出现了callback他的作用就是回调我们的json。

上面的php例子相对应的前端是这样写的:

"<script type="text/javascript">

$.getJSON("http://somejson.com.xxx.php?callback=?", function(getUsers){

alert(getUsers.name);

});

</script>"

这就是简单的一段jsonp的运用,跨域传输我们的json文件,那么随着我们jsonp的出现也导致了一些安全问题。

我们这里要介绍的是json劫持。

u=1883619114,473767998&fm=173&app=25&f=J

2.json劫持

由于jsonp的跨域传输同时也带来了很多不安全的因素。

这里我们举个例子,某云的一个案例"利用腾x某站点json获取到当前登录者xx号码",我们访问之后就类似于咱们最早举得小明那个例子很想通过calback参数去回调给用户。

所以json劫持的挖掘过程也就浮出水面,但是现在很多站存在针对csrf的验证机制,所以在介绍一下csrf的referer绕过机制。

1. 正则不严谨

如正常请求的referer:www.123.com

我们修改为referer

只需要攻击者利用时注册相应的域名就可以绕过

2. 空referer

这里直接删去referer是最简单的一个

u=2854638406,501822611&fm=173&app=25&f=J

3. 总结

当我们在json劫持的挖掘和利用的时候去寻找敏感操作或者其他能获取用户的信息的位置,我们看是否会有这样的url存在callback回调给用户,这样存在如上的位置都可以被攻击者利用,只是做一个简单的分析。本文尚有不足,望大佬们指出

链接帖子
意见的链接
分享到其他网站

这个问题有0个答案

推荐的帖子

此问题没有答案

黑客攻防讨论组

黑客攻防讨论组

    You don't have permission to chat.
    • 最近浏览   0位会员

      • 没有会员查看此页面。
    ×
    ×
    • 创建新的...