【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(new URL("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

W-P-E冰枫修改版:网页游戏抓包调试利器(Win7兼容优化)

WPE(Windows Packet Editor)是一款针对Windows平台设计的网络数据包编辑与重发工具,广泛应用于网页游戏、客户端-服务器通信的调试与分析中。其核心功能在于能够实时监控应用程序发出和接收的网络数据包,并允许用户对这些数据包进行查看、修改和重新发送。graph TDA[目标进程] -->|调用send/recv| B(Winsock API)B --> C{WPE注入DLL}C -->|Hook入口| D[拦截数据包]D --> E[显示至界面]

weixin_36149538的博客 1795

JSON类型注入

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

2201_75766364的博客 2526

json抓包工具

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

从零玩转显示屏:手把手教你用Arduino驱动SPI屏幕(附引脚定义图)

本文提供了一份详尽的Arduino驱动SPI屏幕的入门指南。从SPI接口的核心引脚定义(如DC、RESET)与RGB接口的区别讲起,手把手指导硬件连接与软件库配置,并最终通过一个天气显示器实战项目,帮助读者掌握驱动SPI屏幕、显示RGB色彩内容的核心技能。

weixin_29189987的博客 130

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

从零开始,手把手教你用RTL代码设计一个简单的8位CPU(附状态图与ALU设计)

本文详细介绍了如何从零开始设计一个简单的8位CPU,包括状态机设计、ALU实现与RTL编码实战。通过具体的指令集分析、状态图设计和Verilog代码示例,帮助读者深入理解CPU工作原理,并掌握RTL代码编写技巧。特别适合计算机系统学习者和硬件设计爱好者。

weixin_30847063的博客 320

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

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

weixin_34242509的博客 349

Python+Appium实现泛微OA自动打卡:5分钟搭建移动端自动化脚本

移动端自动化测试是软件测试与办公自动化领域的重要技术方向,其核心原理是通过程序模拟用户对手机应用界面的操作,实现重复性任务的自动执行。Appium作为主流的开源移动端自动化框架,基于WebDriver协议,支持跨平台且无需修改被测应用,为自动化脚本开发提供了标准化接口。在工程实践中,结合Python简洁的语法和丰富的生态,可以快速构建稳定可靠的自动化解决方案。这一技术组合的价值在于能够高效处理“重复性、低价值、高频率”的日常操作,例如考勤打卡、数据填报等办公场景,显著提升工作效率。本文以泛微OA Emobi

weixin_28836875的博客 389

云服务器安装ros教程

要在 CentOS 7 系统上安装 RouterOS,您需要将 RouterOS 安装为虚拟机或直接安装到物理硬盘上。这里提供的是将 RouterOS 安装到物理硬盘上的步骤,这将完全替换现有的 CentOS 7 系统。请确保您已经备份了所有重要数据。

qq_37662563的博客 2145

攻防世界wife_wife详解

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

hddi1的博客 258

QT实现Word读写

在windows环境下,我们可以通过ActiveQt实现Office自动化,相当于VB的VBA功能。 以下是一个实例: #include #include #include int main(int argc, char *argv[]) {     QApplication a(argc, argv);     //显示的打开一个word应用程序     QAxW

nameofhsw的专栏 1万+

第一个Windows Phone 8 程序开发

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

weixin_33834137的博客 102

深度理解嵌入(embedding)层

首先从one_hot开始: one_hot的优点:计算方便快捷、表达能力强。 one_hot的缺点:过于稀疏,过于占用资源,尤其是在数据量特别大时;数据之间完全独立。

weixin_44441131的博客 5658

FastApi教程

HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于万维网(WWW:World Wide Web )服务器与本地浏览器之间传输超文本的传送协议。HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。HTTP协议工作于客户端-服务端架构为上。浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求。

小石潭记丶 1560

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

大数据平台符合信创(CDH国产化代替)详细方案(企业内部不外传方案)

信创旨在实现信息技术产业的自主可控,减少对外部技术的依赖,从而提升国家信息安全和经济发展的自主性。在此背景下,中国对信创提出了更高的要求,以期在激烈的市场竞争中占据有利地位。信创不仅关乎技术层面的创新,更涉及到产业链条的整合与优化。它要求从基础硬件、操作系统、数据库、中间件等各个层面实现国产替代,构建完整的信息技术生态体系。尤其是在做国企项目时,就有硬性要求使用符合信创(国产代替)。在信创背景下,符合要求的产品必须具备自主可控、安全可靠以及性能卓越等核心特点。

大模型大数据攻城狮的专栏 3507

青岑web入门学习wp

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

qsuperm的博客 3313

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

[HFCTF2020]EasyLogin -wp

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

freerats的博客 2607

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

MOECTF-WEB方向的一些wp

CTF-WEB

Eddie_Murphy-blogs 1548

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

小学期分组对抗赛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万+

HGAME-2021-Week1-web部分wp

Week1 hitchhiking_in_the_Galaxy 点进去题目是这样的 burp 抓包 点击蓝色题目 得到 更改请求方式为 POST 后 得到这样一句话 只有使用"无限非概率引擎"(Infinite Improbability Drive)才能访问这里~ 增加过后根据提示依次增加请求头 最后得到flag POST /HitchhikerGuide.php HTTP/1.1 Host: hitchhiker42.0727.site:42420 User-Agent: Infini

yutianovo的博客 1689

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】Json抓包
下一篇: mtklog 日志到一定条件自动删除
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值