码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 经过几年和前端调接口,我把抓包调试摸透了,浏览器岂非我对手


    场景:我们在和前端对接接口的时候,前端都是根据后端提供的接口api,swagger地址或者yapi,其他接口管理平台进行接口联调,mock一些测试数据调试,调好了然后在本地和后端联调接口,没有问题后再发测试环境,测试环境再发预发布,预发布通过在上生产环境,正常大公司的流程多一点,多一些环境,但是流程调试的环节避免不了,但是调试难免会出现问题,和拉皮扯筋的事情。

    1,页面抓取这里就演示淘宝网页的订单查询接口。

    (因为这里我篡改过商品发布的接口修改外链接,但是实际是不成功的,成功了就奇怪了)

    登录淘宝网页,查询购买的订单信息 

    newwork代表网络请求,下面的接口请求包括前端的样式静态文件,但是像页面提交表单的方式一般都是用php的方式,正常都走接口,这种接口需要通过抓包工具抓取接口请求参数,如果是接口加了签名的这种你是请求是不通的。 

     我们只需要关注请求接口的请求参数,请求头,请求体就可以:

    还需要观察 接口是否需要验证方式

     

     只需要抓取请求的参数去访问就行。

     这里使用finder抓包工具;

    请求地址:https://buyertrade.taobao.com/trade/itemlist/asyncBought.htm?action=itemlist/BoughtQueryAction&event_submit_do_query=1&_input_charset=utf8 

     我们看淘宝的接口的请求头参数:

     查看是否需要请求验证:

     查看详细请求体:

     下面是返回的响应体:

     我们直接通过finder进行请求测试:

     

     

    查看接口返回的信息: 

     

     

    有了这个参数请求我们也可以通过postman去请求接口把抓取的参数去post测试。

     我们可以看到我们接口是200但是返回的是html信息,这种是有限制的,限制了接口的域名访问,

    重定向了这种就是,这种方式需要获取到真实的ip地址请求接口才能访问到接口的数据。这就是为啥要使用抓包工具的原因。

    对与接口调试我只需要吧请求的参数,请求体,请求头复制到postman测试即可但是对于加了签名的接口你是没有办法直接调用通过的。

     

    类似这样的签名和时间戳 。

    那么对于浏览器的使用,那就更容易了前端的样式和js如何调试只需要打开

    我们动态修改样式即可进行调试。

    我们可以通过source的方式去调试js,查询js执行watch的参数信息,但是你需要找到具体执行的函数方法,点击事件,随着前端的更新迭代,现在的点击事件方法基本绑定在html标签上面,很难找到触发的地方,并且js采用压缩混淆算法,js压缩后很难去找到具体代码,而且通过代码不显示到浏览器网页上面,很多处理直接通过后台接口处理,前端不写逻辑,所以你需要花时间去找前端的js。 

     

     

     ————没有与生俱来的天赋,都是后天的努力拼搏(我是小杨,谢谢你的关注和支持)

  • 相关阅读:
    2022年铝行业研究报告
    [CC2642R1][VSCODE+Embedded IDE+Cortex-Debug] TI CC2642R1 快速搭建VsCode开发环境
    Docker-compose安装mysql
    VSCode开发go手记
    前端八股文-作用域,闭包,js的数据类型,Symbol,bigint,引用数据类型,类型转换,深浅拷贝,原型和原型链,垃圾回收机制
    记一次排查:接口返回值写入excel后,从单元格copy出来的数据会带有多重引号的问题
    性能测试持续集成 CICD:JMeter+Jenkins+Ant+jmx
    Java核心篇,二十三种设计模式(十五),行为型——解析器模式
    flutter系列之:flutter架构什么的,看完这篇文章就全懂了
    java计算机毕业设计河南口腔医疗机构线上服务系统源码+mysql数据库+系统+lw文档+部署
  • 原文地址:https://blog.csdn.net/qq_39751120/article/details/126878834
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号