【WP】Json抓包

2021 SWUP新生赛 wp 2021 SWUP新生赛 wpWebgift_F12caidao Web gift_F12 如题所示f12找到flag caidao 蚁剑连接(中国菜刀连接可能会显示没有root权限) 根目录flag 阅读详情

最近因为同事的毕业设计聊天时谈及了抓包这个词,还记得当时在114的时候也用了httpwatch抓过一次学校的课表,当然demo是来自于csdn中网友的分享,开始自己的课表还是可以抓的,最后因为学校教务系统升级了,也就抓不了了。如今又来学习一下抓包,这个小技巧还是很不错的,可以抓取网上的数据作为资源。

抓包一般是返回的json数据,由此也联想到了抓html文本,比如从360文库里解析最新的hosts文本。

因为在下喜欢的是android开发,所以都是基于安卓来说的。使用抓包工具可以抓电脑和手机的数据,为了方便,就直接抓取手机app的数据。

  • 抓包工具:Fiddler;
  • 测试app:动漫之家.apk;(数据没有加密)
  • chrome插件:FE;(自动格式化json)

首先要做的就是电脑和手机相连,通过wifi连到同一个局域网,下面是步骤:

  1. 电脑:Win+R==>>cmd回车==>>ipconfig回车==>>找到无线局域网ip;
  2. 手机:连上电脑的wifi,或和电脑连接到同一个wifi,在手机wifi设置里更改“无”代理为“手动”代理,ip填入步骤一的ip,端口手机为8888;
  3. Fiddler:Tools==>>Fiddler Options…==>>Connections==>>Allow remote computers to connect复选框打勾。

这样子,准备工作就可以了,可以试着抓取数据了,如下:

{
    “code”: 0,
    “msg”: “”,
    “data”: {
        “category_id”: 50,
        “title”: “猜你喜欢”,
        “sort”: 5,
        “data”: [
            {
                "id": 17049,
                "title": "一条狗",
                "authors": "使徒子",
                "status": "已完结",
                "cover": "http://images.dmzj.com/webpic/11/0210yitiaogoufml.jpg",
                "num": 22585548
            },
            {
                "id": 7904,
                "title": "上课小动作",
                "authors": "森繁拓真",
                "status": "连载中",
                "cover": "http://images.dmzj.com/webpic/17/shangkexiaodongzuofengmianl.jpg",
                "num": 5085241
            },
            {
                "id": 17149,
                "title": "黑色五叶草",
                "authors": "田畠裕基",
                "status": "连载中",
                "cover": "http://images.dmzj.com/webpic/2/0228heisewuyecao2fml.jpg",
                "num": 4043878
            }
        ]
    }
}

这样子,你就可以使用请求到的数据,做自己想做的了。

 

下面从基础开始试一试,这里分为好几类开始:

  1. 解析app工程res/raw/文件夹下的.json本地数据,简单例子;
  2. 解析上述抓包到的json数据,url方式;
  3. 推广,想到了解析html,使用jsoup,以从360文库解析最新hosts为例子。

先看第一个简单例子:

rawjson.json

{
    "姓名": "张三",
    "性别": "男",
    "年龄": "22",
    "学习成绩": {
        "数学": "60",
        "语文": "61",
        "英语": "62",
        "综合": [
            {
                "文科综合": "100"
            },
            {
                "理科综合": "110"
            }
        ]
    }
}

****.java

JSONObject obj;
try {
 
    InputStream is = this.getResources().openRawResource(R.raw.rawjson);
    byte[] buffer = new byte[is.available()];
    is.read(buffer);
 
    String json = new String(buffer, "utf-8");
 
    obj = new JSONObject(json);
 
    x = obj.getString("姓名");
    Log.d("======姓名========", x);
    y = obj.getString("性别");
    Log.d("======性别========", x);
    z = obj.getString("年龄");
    Log.d("======年龄========", x);
 
    JSONObject obj1 = obj.getJSONObject("学习成绩");
    x1 = obj1.getString("数学");
    Log.d("======数学========", x);
    y1 = obj1.getString("语文");
    Log.d("======语文========", x);
    z1 = obj1.getString("英语");
    Log.d("======英语========", x);
 
    JSONArray array = obj1.getJSONArray("综合");
    obj = array.getJSONObject(0);
    x2 = obj.getString("文科综合");
    Log.d("======文科综合========", x);
    obj = array.getJSONObject(1);
    y2 = obj.getString("理科综合");
    Log.d("======理科综合========", x);
    tv.setText("hello" + x + y + z + x1 + y1 + z1 + x2 + y2);
 } catch (Exception e) {
    e.printStackTrace();
}

再看第二个和抓上述动漫之间数据:

这里需要用到工具jar包:xUtils

****.java

import com.lidroid.xutils.HttpUtils;
import com.lidroid.xutils.exception.HttpException;
import com.lidroid.xutils.http.ResponseInfo;
import com.lidroid.xutils.http.callback.RequestCallBack;
import com.lidroid.xutils.http.client.HttpRequest;
 
HttpUtils http = new HttpUtils();
http.send(HttpRequest.HttpMethod.GET, "http://v2.api.dmzj.com/recommend/batchUpdate?category_id=50", newRequestCallBack <
    String > () {
 
    @
    Override
    public void onFailure(HttpException arg0, String arg1) {
        // TODO Auto-generated method stub
 
    }
 
    @
    Override
    public void onSuccess(ResponseInfo < String > responseInfo) {
        // TODO Auto-generated method stub
        json = responseInfo.result;
 
        JSONObject obj;
        try {
 
            obj = new JSONObject(json);
            code = obj.getString("code");
            msg = obj.getString("msg");
 
            JSONObject data = obj.getJSONObject("data");
 
            data_category_id = data.getString("category_id");
            data_title = data.getString("title");
            data_sort = data.getString("sort");
 
            data_data = data.getJSONArray("data");
 
            obj = data_data.getJSONObject(0);
            data_data_id = obj.getString("id");
            data_data_title = obj.getString("title");
            data_data_authors = obj.getString("authors");
            data_data_status = obj.getString("status");
            data_data_cover = obj.getString("cover");
            data_data_num = obj.getString("num");
 
            obj = data_data.getJSONObject(1);
            data_data_id1 = obj.getString("id");
            data_data_title1 = obj.getString("title");
            data_data_authors1 = obj.getString("authors");
            data_data_status1 = obj.getString("status");
            data_data_cover1 = obj.getString("cover");
            data_data_num1 = obj.getString("num");
 
            obj = data_data.getJSONObject(2);
            data_data_id2 = obj.getString("id");
            data_data_title2 = obj.getString("title");
            data_data_authors2 = obj.getString("authors");
            data_data_status2 = obj.getString("status");
            data_data_cover2 = obj.getString("cover");
            data_data_num2 = obj.getString("num");
 
            tv.setText("id:" + data_data_id + ",title:"+ data_data_title + ",authors:" + data_data_authors + ",cover:" +
                data_data_cover + ",num:" + data_data_num + ";");
            tv1.setText("id:" + data_data_id1 + ",title:"+ data_data_title1 + ",authors:" + data_data_authors1 +
                ",cover:" + data_data_cover1 + ",num:"+ data_data_num1 + ";");
            tv2.setText("id:" + data_data_id2 + ",title:"+ data_data_title2 + ",authors:" + data_data_authors2 +
                ",cover:" + data_data_cover2 + ",num:"+ data_data_num2 + ";");
            tv3.setText("code:" + code + ",msg:"+ msg + ",category_id:" + data_category_id + ",title:" + data_title +
                ",sort:" + data_sort);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
});

可以看出,主要是要对json的数据格式有所理解,无外乎就是对象object和数组arrary两种组合;当然以上解析的只是得到了数据资源,要使用这些资源的话,那就使用就是了~

 

下面看第三个实用的例子,获取hosts:

这里需要用到工具jar包:jsoup

参考博客园

****.java

Document doc;
try {
    doc = Jsoup.parse(newURL("http://www.360kb.com/kb/2_122.html"), 5000);
    String title1 = doc.head().getElementsByTag("title").text();
    Document content = Jsoup.parse(doc.toString());
    Elements divs = content.select("#storybox");
    Document divcontions = Jsoup.parse(divs.toString());
    Elements element1 = divcontions.getElementsByTag("pre");
 
    String hostsStr = element1.text();
    String[] tmp = null;
    tmp = hostsStr.split("=====");
    hostsStr = tmp[1];
 
    tv3.setText("jsoup html");
    tv4.setText("HOSTS:" + hostsStr);
 
} catch (Exception e) {
    e.printStackTrace();
}
—————————————————————
public String getHtmlString(String urlString) {
 
    URL url;
    try {
        url = new URL(urlString);
 
        URLConnection ucon = url.openConnection();
        InputStream instr = ucon.getInputStream();
        BufferedInputStream bis = new BufferedInputStream(instr);
        ByteArrayBuffer baf = new ByteArrayBuffer(500);
        int current = 0;
        while ((current = bis.read()) != -1) {
            baf.append((byte) current);
        }
        return EncodingUtils.getString(baf.toByteArray(), "utf-8");
    } catch (Exception e) {
        return "";
    }
}

这样,就可以解析到最新的hosts,简单吧。

 

深圳南山科技园

2016-04-15

ISCC-2019部分wp web 1、web2 很清楚的提示,破解三位数的密码,同时也需使验证码正确,抓包进行爆破得到flag: 2、web1 <?php error_reporting(0); require 'flag.php'; $value = $_GET['value']; $password = $_GET['password']; $username = ''; for ($i =... 阅读详情

相关推荐

CTFHub-JSON Web Token-敏感信息泄露

前言 以前是没有接触过JWT的,直到几天前看了看DDCTF的Web签到题,发现是知识盲区,后来看了看WP,才知道好多东西自己都没有学过,因此特地学习学习。 关于JWT的基础知识,我觉得下面这个文章写的挺好的: JSON Web Token 入门教程 知道了JWT的基础知识,我们便开始做CTFHub中关于JWT的相关题目。 WP 首先打开环境发现是要登录的,我们直接burp抓包来看一看: 在response里发现了token。我们直接对token的header和payload进行base64url解码,解码

feng的博客 1690

说说Wireshark(抓包)

唠唠wireshark的注意事项

qq_21402513的博客 1649

json抓包工具

可以对网络中的资源进行抓取,将json转换成字符串

JSON类型注入

JSON 是存储和交换文本信息的语法,是轻量级的文本数据交换格式。类似xml,但JSON 比 XML 更小、 更快,更易解析,主要是用来代替XML的。所以现在接口数据传输都采用json方式进行。JSON 文本的 MIME 类型是 "application/json"。

2201_75766364的博客 2526

从零构建个性化AI助手:基于Mem0与本地大模型的记忆化实践

本文详细介绍了如何利用Mem0与本地大模型构建个性化AI助手,实现记忆化应用结构的实践方法。从开发环境搭建、记忆存储机制到个性化交互实现,提供了完整的解决方案和代码示例,帮助开发者在本地环境中创建能记住用户习惯和偏好的智能助手。

weixin_29214335的博客 464

电磁兼容标准体系解析:从基础到认证的完整指南

本文系统解析了电磁兼容(EMC)标准体系,从基础概念到认证流程提供完整指南。文章阐述了EMC对于产品可靠性与市场准入的重要性,详细拆解了基础标准、通用标准、产品类标准及认证流程四层结构,并结合5G设备与工业控制等实战案例,为工程师提供了从设计初期到认证测试的高效应用策略。

weixin_29294975的博客 355

关于 json 文件读写(java对象和json文件互相转换)的几种方法代码

java对象和json文件互相转换

s_sos0的博客 2126

Vivado DDR IP自定义型号避坑指南:如何正确填写CSV参数表(附常见错误排查)

本文详细解析了Vivado DDR IP自定义型号配置中的关键步骤与常见问题,特别针对DDR4内存颗粒的参数提取、CSV参数表填写误区及故障排查提供了实用指南。通过实际案例和调试技巧,帮助工程师避免配置陷阱,提升DDR4系统稳定性和性能。

weixin_29280657的博客 413

java json utf-8_java读取json数据发生中文乱码的解决方法

java读取json数据发生中文乱码的解决方法发布时间:2020-06-21 15:58:48来源:亿速云阅读:268作者:鸽子java读取json数据出现乱码的代码://从json文件中读取数据StringBuffer stringBuffer = new StringBuffer();try {BufferedReader bufferedReader =new BufferedReader(...

weixin_34249113的博客 1693

告别深度学习!用5个麦克风搞定多说话人分离:ReTM算法保姆级教程

本文详细介绍了ReTM算法,这是一种无需深度学习、仅需5个麦克风即可实现多说话人语音分离的创新信号处理方法。它通过估计相对传递矩阵,利用空间物理信息在混响环境中分离语音,具有数据需求低、计算复杂度小、无需先验几何信息等优势,特别适合嵌入式设备和资源受限场景。

desk3的博客 156

开源代码分享(29)-基于拉丁超立方抽样的风光场景生成和削减

作为分层抽样方法的一 种,拉丁超立方抽样具有良好的抽样精度和效率[14]。本文使用多场景方法来描述可再生能源(风电、光伏)的不确定性。以风电功率为例,首先假定风电功率服从正态分布 N(μ, δ 2 ),μ 为预测值的期望值,δ 为其波动的百分比。接着,采用拉丁超立方抽样[21]生成大量服从概率分布约束的风电出力场景,并采用考虑 Kantorovich 距离[22]的场景削减技术处理该场景,进行场景削减。最后,导出具有相应概率的削减之后的场景。

配电网和matlab的博客 921

使用Python采集某网站视频,实现音视频自动合成!

首先获取 cid session 这两个参数, 顺带在获取视频标题把cid session 以及 bv号 传入数据包内最后再获取 音频数据 以及 视频画面数据。

2201_75362610的博客 719

OSGEarth三维可视化避坑指南:如何高效加载SHP/TIF地理数据?

本文详细介绍了OSGEarth在三维地球可视化中高效加载SHP/TIF地理数据的实战策略,包括空间参考系配置、性能优化、二三维联动等关键技巧。通过具体案例和代码示例,帮助开发者解决坐标偏移、性能卡顿等常见问题,提升三维GIS开发效率。

weixin_29216957的博客 222

嵌入式面试10连问:ST7789T3屏幕与CST816D触摸驱动全流程解析

在嵌入式GUI设备开发中,显示与触摸是两条最核心的硬件链路。SPI和I2C作为MCU与外部芯片通信的两大基础协议,分别承担着屏幕像素数据传输与触摸状态读取的任务。理解其时序、DMA传输机制以及中断唤醒流程,是评估系统资源消耗和功耗表现的关键。对于基于Cortex-M系列MCU的彩屏交互设备而言,如何高效刷屏、准确映射触摸坐标、合理组织驱动架构,直接决定了产品的响应速度与稳定性。本文从显示控制器与电容触摸控制器的典型组合出发,围绕寄存器配置、数据解析、低功耗联动等工程细节,拆解嵌入式面试中常见的高频问答,帮助

weixin_34242509的博客 349

微信小程序 - 实现Java微信支付退款功能以及退款流程,微信小程序前端+java后端完整示例源码,微信小程序退款功能详解,小程序订单申请退款和退款回调方法、查询退款等(新版微信支付,详细示例代码)

微信小程序开发-微信支付退款功能以及退款回调方法,微信支付退款API详解,微信小程序支付V3(支付、退款)Java实现微信小程序开发 小程序支付开发-小程序退款功能,微信小程序小程序和公众号 退款功能教程(含申请退款和退款回调,退款回调地址在商户后台配置或者代码自定义)最新版微信小程序支付,退款问题,小程序支付和退款功能详解,小程序申请退款,小程序处理退款,微信小程序支付与退款java,微信小程序退款及回调,JAVA实现微信小程序支付退款功能,退款api调用报错,如何解决退款申请无响应,如何用实现小程序订单

🏆 前端领域优质创作者 4157

RK3568 上C图像camera图像采集应用实例(二)

本文探索rk3568上实现C语言的 通过C v4l2 接口 采集图像 ,刷屏控制 drm的显示camera图像中 实现camera preview 预览 的实践和探索。

luoshanxuli2010的专栏 758

攻防世界wife_wife详解

] 我们要修改原型admin为true从而造成它下面污染 我们。且看到user 为json解析出来的,故json里任意一处添加。看了wp才知道 是JavaScript 原型链与原型链污染。[[JavaScript 原型链与原型链污染全解析]]这里的 Object.assign 类似。,合并时会修改目标对象的原型链,导致。#JavaScript原型链污染。

hddi1的博客 258

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

第一个Windows Phone 8 程序开发

前段时间在用WP8的【喜马拉雅客户端】听播客节目在使用过程中有些不足,心想自己动手做做。刚好最近在微博上看到msp的昌伟哥哥通过Fiddler抓包将iphone应用移植到WP8上了,参考他的文章 WP8开发实例-兔小贝儿歌iphone版移植到WP8实现(1)说做就做,利用周末的时间以及下班后休息时间开始了WP8的探索之旅,差不多一周的时间完成了大部分工作。仅以此来记录下我的开发过程。 在整个过...

weixin_33834137的博客 102

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

Buuctf -web wp汇总(三)

Buuctf -web wp汇总(一):链接 Buuctf -web wp汇总(二):链接 Buuctf -web wp汇总(三):链接 文章目录[WUSTCTF2020]朴实无华[WUSTCTF2020]颜值成绩查询[GKCTF2020]EZ三剑客-EzWeb[CISCN2019 华北赛区 Day1 Web5]CyberPunk[V&N2020 公开赛]TimeTravel[NCTF2019]True XML cookbook [WUSTCTF2020]朴实无华 要点:逻辑漏洞 函数绕过 进入.

Alexhirchi的博客 2943

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

[HFCTF2020]EasyLogin -wp

打开网页出现如上登入框,可以发现login和register等并没有php等后缀,初步判断是js框架,f12可以看到app.js 访问一下,提示是基于Node.js的koa框架,但是这个页面的代码并不是逻辑代码,用处不大。 在注释里提示静态文件处理出现问题,那么可能会出现任意文件读取漏洞 这里需要对koa框架的目录有一定的了解 其中controllers目录是项目控制器存放目录:接受请求,处理逻辑 访问controllers/api.js发现处理逻辑 const crypto = require('.

freerats的博客 2607

青岑web入门学习wp

多做题、多总结,就能形成自己的做题节奏。直接f12得到flag:

qsuperm的博客 3313

MOECTF-WEB方向的一些wp

CTF-WEB

Eddie_Murphy-blogs 1548

小学期分组对抗赛WP

Windows系统:版本 Windows 11 专业版版本 23H2安装日期 ‎2023-‎07-‎20操作系统版本 22631.2271体验 Windows Feature Experience Pack 1000.22674.1000.0Kali系统:Linux Stark 6.4.0-kali3-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.4.11-1kali1 (2023-08-21) x86_64 GNU/Linux。

zinc_96的博客 1165

爬虫逆向实战(22)-某恩数据电影票房(混淆)

一、数据接口分析 主页地址:某恩数据 1、抓包 通过抓包可以发现数据接口是API/GetData.ashx 2、判断是否有加密参数 请求参数是否加密? 无 请求头是否加密? 无 响应是否加密? 通过查看“响应”模块可以发现,响应是加密数据 cookie是否加密? 无 二、解密位置定位 1、hook 因为响应加密数据一般都是json数据加密,所以解密后会使用JSON.parse进行解密,所以我们可以对JSON.parse进行hook hook代码段: var my_parse = JSON.parse

qq_44906798的博客 3万+

iscc校赛部分wp

MISC打开题目,先测试说这个,我们想到提示说对key敏感,我们就是是key的各种绕过,最后发现双写有变化然后第二关说要post一个a参数,说Master Const的值是1337,说明要有key=1337,但是要post一个a的参数,说明a是数组写成a[key]=1337.第二关也过了。又说哈希碰撞,要在GET 上a和b所以我们写成这样就行了。Web3我们看提示说明,真正不安分的细节,往往藏在他们以为没人会翻的地方。说明藏东西了,我们要去扫描一下隐藏文件。第一步:发现 .git 泄露。

2301_79921747的博客 452
上一篇: 【WP】Chrome主题diy
下一篇: 【WP】Json抓包
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值