当前位置: 首页 > news >正文

做营销网站的企业/最近的电脑培训班在哪里

做营销网站的企业,最近的电脑培训班在哪里,网站开发 语音输入,国外html5做网站背景 有个抓包结果被加密了 1、寻找入口,打断点 先正常请求一次,找到需要的请求接口。 寻找入口,需要重点关注几个关键字:new Promise 、new XMLHttpRequest、onreadystatechange、.interceptors.response.use、.interceptors.r…

背景

有个抓包结果被加密了

1、寻找入口,打断点

先正常请求一次,找到需要的请求接口。

寻找入口,需要重点关注几个关键字:new Promisenew XMLHttpRequest、onreadystatechange、.interceptors.response.use、.interceptors.request.use

入口这一步很关键,入口找好了,大大降低了下面调式的工作量。

2、调试

这一步目的:请求参数是怎么加密组装的,响应参数是如何解密的。

这个 过程比较繁琐,慢慢来,F11进入关键函数后,再使用F10 一步一步往下执行。

这里响应参数被base64编码了两次 

验证一下

3、代码验证测试

package com.study;import com.fasterxml.jackson.databind.ObjectMapper;import javax.crypto.Cipher;
import javax.crypto.spec.SecretKeySpec;
import javax.net.ssl.*;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.URL;
import java.nio.charset.StandardCharsets;
import java.security.cert.CertificateException;
import java.security.cert.X509Certificate;
import java.util.Base64;
import java.util.Map;public class Test {public static void main(String[] args) throws Exception {String key = "8afccde05b2206ab681c65d6156b194a";String url = "https://127.0.0.1:443/movie/app/list";String param = "{\"pageParam\":{\"current\":1,\"size\":10},\"searchParam\":{\"movieType\":\"xxxxx\"}}";byte[] bytes = sendPost(url, param);ObjectMapper mapper = new ObjectMapper();Map<String, String> result = mapper.readValue(new String(bytes), Map.class);String data = result.get("data");String s = decryptECB(data, key);System.out.println(s);}/*** AES ECB 解密* @param message 密文* @param key     密匙* @return 解密后数据*/public static String decryptECB(String message, String key) {final String cipherMode = "AES/ECB/PKCS5Padding";try {// 一般这里只会Base64解码一次,但是这次比较特殊,数据被编码了2次。所以需要解码2次。byte[] messageByte = Base64.getDecoder().decode(Base64.getDecoder().decode(message));byte[] keyByte = key.getBytes(StandardCharsets.UTF_8);SecretKeySpec keySpec = new SecretKeySpec(keyByte, "AES");Cipher cipher = Cipher.getInstance(cipherMode);cipher.init(Cipher.DECRYPT_MODE, keySpec);byte[] content = cipher.doFinal(messageByte);return new String(content, StandardCharsets.UTF_8);} catch (Exception e) {e.printStackTrace();}return null;}/*** 发送POST请求*/public static byte[] sendPost(String url, String params) {HttpsURLConnection con = null;InputStream is = null;try {con = (HttpsURLConnection) new URL(url).openConnection();// 绕过证书验证SSLContext sc = SSLContext.getInstance("SSL");sc.init(null, new TrustManager[]{new MyTrustManager()}, new java.security.SecureRandom());con.setSSLSocketFactory(sc.getSocketFactory());// 绕过验证主机名con.setHostnameVerifier(new MyHostnameVerifier());con.setRequestMethod("POST");con.setDoOutput(true);con.setDoInput(true);con.setUseCaches(false);con.setConnectTimeout(5000);con.setReadTimeout(15000);con.setRequestProperty("Content-Type", "application/json;charset=UTF-8");con.setRequestProperty("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36");if (params != null) {OutputStream outputStream = con.getOutputStream();outputStream.write(params.getBytes(StandardCharsets.UTF_8));outputStream.close();}int len;byte[] buf = new byte[4096];is = con.getInputStream();ByteArrayOutputStream baos = new ByteArrayOutputStream();while ((len = is.read(buf)) != -1) {baos.write(buf, 0, len);baos.flush();}return baos.toByteArray();} catch (Exception e) {e.printStackTrace();} finally {try {if (is != null) {is.close();}if (con != null) {con.disconnect();}} catch (IOException e) {e.printStackTrace();}}return null;}static class MyTrustManager implements X509TrustManager {public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException {}public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException {}public X509Certificate[] getAcceptedIssuers() {return new X509Certificate[]{};}}static class MyHostnameVerifier implements HostnameVerifier {@Overridepublic boolean verify(String urlHostName, SSLSession session) {return true;}}
}

http://www.bjxfkj.com.cn/article/37.html

相关文章:

  • 网站开发工程师的要求/交换链接营销
  • 公司部门划分及职责/惠州百度seo在哪
  • 公司网站更换域名流程/百度推广代理公司
  • 潍坊知名网站建设怎么收费/论坛推广平台有哪些
  • 织金县政府关于网站建设/网销平台排名
  • 淘宝客自己做网站吗/链接提交工具
  • 重庆免费微网站/央视网新闻
  • 网站代备案公司/门户网站排行榜
  • 介绍做素食的网站/网络营销的优势
  • 网站建设任务执行书/泽成杭州seo网站推广排名
  • 做网站还是做微信公众号/谷歌浏览器下载手机版中文
  • 企业官网建设 创意网站建设/濮阳网站推广
  • 做一个网站 多少钱/google收录查询
  • 怎么做公司网站需要什么/seo公司网站
  • 上海长宁建设和交通门户网站/seo查询工具有哪些
  • 织梦影视网站源码/青岛网站建设
  • 网站做推广 建设哪种类型合适/南宁seo平台标准
  • 网站的优势与不足/口碑营销5t理论
  • PC端网站开发以及设计费用/前端开发
  • 微信个人号管理系统/网络推广优化seo
  • 着力规范网站集约化建设/电销外包团队在哪找
  • 织梦网站模板源码/seo搜索引擎优化推荐
  • 广东品牌网站建设报价表/厦门百度公司
  • 企业网站优化排名方案/游戏推广员平台
  • 昆山住房城乡建设局网站查询/郑州seo排名公司
  • 去网站做dnf代练要押金吗/百度推广是干什么的
  • 通过模版做网站/开鲁视频