Liu Song’s Projects


~/Projects/confbook

git clone https://code.lsong.org/confbook

Commit

Commit
23cfa4f0346fcd4a2fcc7a5634d335de19616dae
Author
Lsong <[email protected]>
Date
2022-10-06 19:35:30 +0800 +0800
Diffstat
 mitmproxy/config.yaml | 10 +++++-----
  | 2 +-
  | 0 
 mitmproxy/scripts/xck.py | 24 ++++++++++++++++++++++++

update


diff --git a/mitmproxy/config.yaml b/mitmproxy/config.yaml
index 447961c0e369a83da23a606dbdd9fdb621e1b421..345ad6a3a7bd62c8025f7091d28a1f73ae62353a 100644
--- a/mitmproxy/config.yaml
+++ b/mitmproxy/config.yaml
@@ -1,10 +1,10 @@
 
-listen_port: 8090
 web_host: "0.0.0.0"
+listen_port: 8090
 block_global: false
-console_mouse: false
+tls_version_client_min: "SSL3"
 
 scripts:
-  - /root/confbook/mitmproxy/scripts/ylgy.py
+  - /root/confbook/mitmproxy/scripts/tls_passthrough.py
-  - /root/confbook/mitmproxy/scripts/hbjkb.py
+  - /root/confbook/mitmproxy/scripts/hbjkm.py
-  - /root/confbook/mitmproxy/scripts/tls_passthrough.py
+  - /root/confbook/mitmproxy/scripts/xck.py




diff --git a/mitmproxy/scripts/bjjkb.py b/mitmproxy/scripts/bjjkb.py
new file mode 100644
index 0000000000000000000000000000000000000000..f2a19993042f31a8df61a98daae2faf5efc25e15
--- /dev/null
+++ b/mitmproxy/scripts/bjjkb.py
@@ -0,0 +1,35 @@
+"""
+Basic skeleton of a mitmproxy addon.
+
+Run as follows: mitmproxy -s anatomy.py
+"""
+from mitmproxy import ctx
+from mitmproxy import http
+import json
+
+def response(flow: http.HTTPFlow) -> None:
+    if flow.request.host != "xcx.yqgz.beijing.gov.cn":
+        return
+
+    ctx.log.info("JKB: %s" % flow.request.pretty_url)
+
+    # 首页查询
+    if flow.request.path.startswith("/ebus/jxjxcxzcfu/jingxinju/jkb/businessTravel/getBaseData"):
+        data = json.loads(flow.response.get_text())
+        data["data"]["validDate"] = 1663776000000
+        data["data"]["validDateStr"] = "09-21 24:00"
+        flow.response.text = json.dumps(data)
+    # 核酸结果查询列表
+    if flow.request.path == "/ebus/jxjxcxzcfu/hsjc/jkb/hsjc/resultQuery":
+        data = json.loads(flow.response.get_text())
+        data["data"]["results"][0]["afterTestTime"] = "1"
+        data["data"]["results"][0]["detTime"] = "2022-09-19 16:00:00"
+        flow.response.text = json.dumps(data)
+    # 核酸天数
+    if flow.request.path == "/ebus/jxjxcxzcfu/hsjc/jkb/hsjcV1/reqNucleicAcidsDays":
+        data = json.loads(flow.response.get_text())
+        data["data"]["afterTestTime"] = "1"
+        data["data"]["cacheDay"] = "20220921"
+        flow.response.text = json.dumps(data)
+
+    ctx.log(f"response: {flow=}")




diff --git a/mitmproxy/scripts/hbjkb.py b/mitmproxy/scripts/hbjkb.py
deleted file mode 100644
index c67b4f393e1d75c9d91df99ed6ac4710d72a6f75..0000000000000000000000000000000000000000
--- a/mitmproxy/scripts/hbjkb.py
+++ /dev/null
@@ -1,23 +0,0 @@
-"""
-Basic skeleton of a mitmproxy addon.
-
-Run as follows: mitmproxy -s anatomy.py
-"""
-from mitmproxy import ctx
-from mitmproxy import http
-import json
-
-def response(flow: http.HTTPFlow) -> None:
-    if flow.request.host != "sjzhe.tgovcloud.com":
-        return
-
-    ctx.log.info("JKB: %s" % flow.request.pretty_url)
-
-    # 首页查询
-    if flow.request.path.startswith("/hbjkm/newUserHealth"):
-
-        data = json.loads(flow.response.get_text())
-        data["data"] = "fa2b2fab1f9fba2e6e6781a3b389e78c0a8a730419692158e8bf6c9f6038c870d25f48d7226f0af90d0ffaebe580e806bccb43a73ce9b539d712f4a02eafa7bdb0d4d33957c59a944507660361c54e0daa204adf517866fd15652368125de7eb3f074a06d70398aecc1742395bf0e8c3d80cad82ab22b13c0c906200efb9d2e57c83f2b3d43e1d440df629c20f36cd50ad39d054da57e70fcd602a23fff8245575da024bc55b073fdd2271f1a1fd62a347a4c98a2196e6ceae8668e5cd4d0872e05ebd4316c8a5abc6047787452ca8d97af017a3fb30e3edcaa8c722f7c7c1705e2e23e4050b2d0adf87e7f7afc9eb72229df45b537649d06364f2ad175ede6e3bfef3ee9af19eb378c6e0ad51f87a47542725a68bdfc6ab2dffc75eaf38278d43a67c6ff6a2cdd5284ab665396d2cda3bdd0f1b22e2ebe47fcd212306b0756866d6845d91bd5271d7602692f30c16772bd5d3a88bc7766d199d8c0168254c27ef1a0ecfbc1483e581f1ccd20d400eb47fa55167823a5cc912f52100f38a1f5d0dbba3548c9244c4b1701802ad2cbd87e5b1239b95a2777258f2c60a269a75411ee0c19e3d993541687388799fa83b9c14ca5937c61f9343d6fa19f0917f8f6515fa9f532b520f86a91983226397c5bf1bfe6da95369ea0699c8840c06fbc879151f374a7bb6f47a0c81afb272c0da066844ae60fc032d44503e8dabb082bbb58ba5304eb43a3ff246c2858d77a4e9afe6661faa61f2e412394955ef77bd644f7aecf15ebf4911d76d5b59c612d031fb720b224dbb1331db53ab5cc5390afa6464259bc4c07abb5795d49dd9a7482b0d692042829649f220351b1e281c1d166d7c31df60dec8af4c881a6bc6949d666d6e65b03e4df1e2964726fa57f50f8b722dc583f8bd25d49c2cd24bef2f6614f4a221ae0c503b8ff1926643a79ba8dda1eb6a573d7692eb76443ba211b7b96f5ebeb0f4df1d03676c8d720ef924bcda9f428be15262a7603195a53d630df2e09739e399aa63cd39c5d4b1307aa4438a7c41e636ad00abffe231a04bb421679fe9742e343300c8c1f6e833223667284267d4f1af009c683031d78dd3e83954a6070a2d60247b600dacf55e00a84f7cef9acb545cd3dc538c7ebef62068e945652e0c28ebece1856e772d449fc3e9696809a183c6365242fda850effa1869a2c67fe2714c7294cd037d8c07478135eed625f8e88d453551e3d4b21e32a0193a1f0d89b4aa2c3f404b4987ef4b613a215a4bbfd42499e35d008cac27fae9e9b45e792a1d9de76aaa6176f9827e836a741e0655be25726c489566e3840581d175f72151dfe642051e42cd4ee7161c03788d67d2f695da97c87141927fb07c97b4f2fe3d0412ec1ccd4b56d9fdc58a5592b1d8a267a6f977a103a4c54f36178be28f30213a31fffc692da5898f6a5ff3313c804600b8d839c06473c0c5d6087d0187af9f572b5ff3a9edbf5ccc3c2e05b197ce7cd1260f12636ef3d051068883c53d3e681e350973de3014452d8dfc9ef2bb9bce5cc4a9248025d6f2dbd6e25d7c6a2a767afb285014e792a1b341f0906eb8f4ba4f2c82bb8155ba4a52dbfa16398486a0073e82761aa5ec4bc1e7159fb706e324eb6f7b775198ee119d6457df2380a5ce94aba90811daf9e6682402c0be5de0fe7bb1d0dde4f9d26c7e6e3bf31e3f87172433b2da0dc36b7f594375691a82f39dd2bb47720d70197243168e562dc1bab0c0c41588e33faa6901d0867a4ce7948d83c4d45f2e05743712ed59bfe0c2861fbfef1f05dd52557a9dc643723b190fcb3acd71c0cfbb72ca9645cbc61234f1b86953209d83a98194e09c3e65c73bb1559081b86f620447edd601b30acba03109ae1753da9a73386de049ebfd21d1096977fd125df96a61ab69a0f13ef6147594ec1995ede8b44254605570597afd3b729ca71b8a4592c7e03b9689822503dc72cf4b0976affd36a9b2b84425b365c2d98fc32d899baf137aa7b8c583c4d280afcec6f2d75875eeb20cd05b942abedeeb04c0500c372f31882111481216b87c03367e37e345cb25db9ecf3f5babe1f282d430bb77a5987bfc58a654098508b441c270a2a3800d7561ee823ac835f13fcb92d494d83ce83714cc60e8aa2e49c13655f1d4af54a7ad4251b70fff03f542e4226f8c27a062f8b7a1cf4d5bf03dfe210cb78129e0de5ceccd652a40b44261f1dcc32614e9bc8a5896d7688a1181c9cd0d0af50c1cdd357f8ab2c510a44cdca57aee0d786ac678e69623c61e3ec28e29ae2bea71f64866185213eac30f45e4a4695b1431383d9bc2460e64fa85d620c8a47f63a08449e4ff60f11b85730fadc508156707e2268b6d4d7e35b24096d0ef0c7d775132c97c3441556e14228b3308e080f7c31a425116150ecb62d835372e95e7c3fb7f17a79d06bacf24263cfaa6b2882c66907706e396b2d983864ef3580f89a27d2cec37ab7e428a7ee33d5ff20d87caa1e5c08b0366a918f1730c0c86c00666cb01c67878d56096f4cded75c8c128a3579dc0b8c0c4a28b6f87dc6c91ee9d1875f88a85ae3e3eefec319221bf290afed4c69b355592e57671949f4a4ab397a0bb00415ab417a27739514ac10b27f44ce805890eca64c6840c126e682c802d724f498b1bd9fc49410912b081a166604dcba14d4ab0b78f759878e03ba6b037bb33d19877767199b80d3028343de880a7c14124ba86b8cdc031251a39aac8f05e0bbe9a984bfc9426f8252a45"
-        flow.response.text = json.dumps(data)
-
-    ctx.log(f"response: {flow=}")




diff --git a/mitmproxy/scripts/hbjkm.py b/mitmproxy/scripts/hbjkm.py
new file mode 100644
index 0000000000000000000000000000000000000000..1cbc27b98cfe8b7951c73de5a3765b9485be04fe
--- /dev/null
+++ b/mitmproxy/scripts/hbjkm.py
@@ -0,0 +1,23 @@
+"""
+Basic skeleton of a mitmproxy addon.
+
+Run as follows: mitmproxy -s anatomy.py
+"""
+from mitmproxy import ctx
+from mitmproxy import http
+import json
+
+def response(flow: http.HTTPFlow) -> None:
+    if flow.request.host != "sjzhe.tgovcloud.com":
+        return
+
+    ctx.log.info("JKB: %s" % flow.request.pretty_url)
+
+    # 首页查询
+    if flow.request.path.startswith("/hbjkm/newUserHealth"):
+
+        data = json.loads(flow.response.get_text())
+        data["data"] = "fa2b2fab1f9fba2e6e6781a3b389e78c0a8a730419692158e8bf6c9f6038c870d25f48d7226f0af90d0ffaebe580e806bccb43a73ce9b539d712f4a02eafa7bdb0d4d33957c59a944507660361c54e0daa204adf517866fd15652368125de7eb3f074a06d70398aecc1742395bf0e8c3d80cad82ab22b13c0c906200efb9d2e57c83f2b3d43e1d440df629c20f36cd50ad39d054da57e70fcd602a23fff8245575da024bc55b073fdd2271f1a1fd62a347a4c98a2196e6ceae8668e5cd4d0872e05ebd4316c8a5abc6047787452ca8d97af017a3fb30e3edcaa8c722f7c7c1705e2e23e4050b2d0adf87e7f7afc9eb72229df45b537649d06364f2ad175ede6e3bfef3ee9af19eb378c6e0ad51f87a47542725a68bdfc6ab2dffc75eaf38278d43a67c6ff6a2cdd5284ab665396d2cda3bdd0f1b22e2ebe47fcd212306b0756866d6845d91bd5271d7602692f30c16772bd5d3a88bc7766d199d8c0168254c27ef1a0ecfbc1483e581f1ccd20d400eb47fa55167823a5cc912f52100f38a1f5d0dbba3548c9244c4b1701802ad2cbd87e5b1239b95a2777258f2c60a269a75411ee0c19e3d993541687388799fa83b9c14ca5937c61f9343d6fa19f0917f8f6515fa9f532b520f86a91983226397c5bf1bfe6da95369ea0699c8840c06fbc879151f374a7bb6f47a0c81afb272c0da066844ae60fc032d44503e8dabb082bbb58ba5304eb43a3ff246c2858d77a4e9afe6661faa61f2e412394955ef77bd644f7aecf15ebf4911d76d5b59c612d031fb720b224dbb1331db53ab5cc5390afa6464259bc4c07abb5795d49dd9a7482b0d692042829649f220351b1e281c1d166d7c31df60dec8af4c881a6bc6949d666d6e65b03e4df1e2964726fa57f50f8b722dc583f8bd25d49c2cd24bef2f6614f4a221ae0c503b8ff1926643a79ba8dda1eb6a573d7692eb76443ba211b7b96f5ebeb0f4df1d03676c8d720ef924bcda9f428be15262a7603195a53d630df2e09739e399aa63cd39c5d4b1307aa4438a7c41e636ad00abffe231a04bb421679fe9742e343300c8c1f6e833223667284267d4f1af009c683031d78dd3e83954a6070a2d60247b600dacf55e00a84f7cef9acb545cd3dc538c7ebef62068e945652e0c28ebece1856e772d449fc3e9696809a183c6365242fda850effa1869a2c67fe2714c7294cd037d8c07478135eed625f8e88d453551e3d4b21e32a0193a1f0d89b4aa2c3f404b4987ef4b613a215a4bbfd42499e35d008cac27fae9e9b45e792a1d9de76aaa6176f9827e836a741e0655be25726c489566e3840581d175f72151dfe642051e42cd4ee7161c03788d67d2f695da97c87141927fb07c97b4f2fe3d0412ec1ccd4b56d9fdc58a5592b1d8a267a6f977a103a4c54f36178be28f30213a31fffc692da5898f6a5ff3313c804600b8d839c06473c0c5d6087d0187af9f572b5ff3a9edbf5ccc3c2e05b197ce7cd1260f12636ef3d051068883c53d3e681e350973de3014452d8dfc9ef2bb9bce5cc4a9248025d6f2dbd6e25d7c6a2a767afb285014e792a1b341f0906eb8f4ba4f2c82bb8155ba4a52dbfa16398486a0073e82761aa5ec4bc1e7159fb706e3d19e64418e6584ce2f36ca51da4b69d74055616e38f7d6f744d3f1d3991343596e959cb1b11a820d17773a99b2fb00971a6053d88db0b9864f3a84cb37b20a1afe6bd2b08f3945bef157c853aa29f652c0295c1378ccde4a1d7086a2ab1f47ec045533e38d36ca1a5d59ef4116bbae652c45b7f10b56181f151dd0479e9ed588892fb267c0f331caa0e5bb0a69cf894a322eb904818e791fb3f6c1edde3581664f33e8db1d3184c40f83921d70e3c551875ee0eaa49e03ce5aff25d9d20070d6e2a8a5271cb162e0bee7ffc634d0ce397925520af108deb686db7c31755656c3ed9570a0e22b494ff0705e8513d17e463d0ba0fd5bc058aa33a74e31db0dba00925955ad2a86736501a5ed3f23d202238cfd7558ca4d857b7d2e4388a7d86056666cc308409f0467883c1554004b2d4926141b4799fcce2fafffd7ec65eab00b3b6a2296077fc62aa67077c4b2f8c8a24c81ac691b0a9dcd3bab7f53157a01492eef2a39a71f2f35375599f03fb76e25e0b6f7a7df2aeb839cac5b7099aa56202fe17049ce7afe68db2217d18848bad0c2e9df88273ac144bf6adfad2e98a2f954f5e9fded1b9f266d9db9ebfdfd865da49d6a953c97acbab12fd2cb69c884ca526fe27d71af50fe01d833adfe47c6f2d0bb50cbb3720f78de8bd0a03c959d17f1ddcb195505a4971400307c7255199baeeb58c5592b6535b2d4e11cfa5972bd5ce08b04e09ccc8ce04f48865d7e338256a8e8190e2be5ba32cbec7c7b2262b6e129d351c81a9026e9533dff961a56d9c1c8b23500548a5ad2f8faebd8852fb839dd7ccec3995889343683a9faeed12142257932e235dba16dbb7d3acdf3b9a381c58d9c8c7fe927650f2a3800941e34052aca285eb23b16e3130638edf50620075da344a8712975399be1142e83bdb7cc0118de563768ea57f0f14cae02d747cc91012a903f3543e85c4c982a8da592aa3675dd288353960b50c398d3721d80b090965623a4a79761ba8ef94e46de8934e532ee4364870ca5064fe5b29cdea7d0a3f98a90952a1a3a2d24bfbf8713758ea595f3c6e74e849d4d111e51156bc5"
+        flow.response.text = json.dumps(data)
+
+    ctx.log(f"response: {flow=}")




diff --git a/mitmproxy/scripts/jkb.py b/mitmproxy/scripts/jkb.py
deleted file mode 100644
index f2a19993042f31a8df61a98daae2faf5efc25e15..0000000000000000000000000000000000000000
--- a/mitmproxy/scripts/jkb.py
+++ /dev/null
@@ -1,35 +0,0 @@
-"""
-Basic skeleton of a mitmproxy addon.
-
-Run as follows: mitmproxy -s anatomy.py
-"""
-from mitmproxy import ctx
-from mitmproxy import http
-import json
-
-def response(flow: http.HTTPFlow) -> None:
-    if flow.request.host != "xcx.yqgz.beijing.gov.cn":
-        return
-
-    ctx.log.info("JKB: %s" % flow.request.pretty_url)
-
-    # 首页查询
-    if flow.request.path.startswith("/ebus/jxjxcxzcfu/jingxinju/jkb/businessTravel/getBaseData"):
-        data = json.loads(flow.response.get_text())
-        data["data"]["validDate"] = 1663776000000
-        data["data"]["validDateStr"] = "09-21 24:00"
-        flow.response.text = json.dumps(data)
-    # 核酸结果查询列表
-    if flow.request.path == "/ebus/jxjxcxzcfu/hsjc/jkb/hsjc/resultQuery":
-        data = json.loads(flow.response.get_text())
-        data["data"]["results"][0]["afterTestTime"] = "1"
-        data["data"]["results"][0]["detTime"] = "2022-09-19 16:00:00"
-        flow.response.text = json.dumps(data)
-    # 核酸天数
-    if flow.request.path == "/ebus/jxjxcxzcfu/hsjc/jkb/hsjcV1/reqNucleicAcidsDays":
-        data = json.loads(flow.response.get_text())
-        data["data"]["afterTestTime"] = "1"
-        data["data"]["cacheDay"] = "20220921"
-        flow.response.text = json.dumps(data)
-
-    ctx.log(f"response: {flow=}")




diff --git a/mitmproxy/scripts/xck.py b/mitmproxy/scripts/xck.py
new file mode 100644
index 0000000000000000000000000000000000000000..3c741c85bc761b1308f7acdfa8ed0f8fba3991d7
--- /dev/null
+++ b/mitmproxy/scripts/xck.py
@@ -0,0 +1,24 @@
+"""
+Basic skeleton of a mitmproxy addon.
+
+Run as follows: mitmproxy -s anatomy.py
+"""
+from mitmproxy import ctx
+from mitmproxy import http
+import json
+
+def response(flow: http.HTTPFlow) -> None:
+    if flow.request.host != "xcweb01.caict.ac.cn":
+        return
+
+    ctx.log.info("xck: %s" % flow.request.pretty_url)
+
+    if flow.request.path.startswith("/alipay/v2/queryAdressQuicklyNewSec"):
+        data = json.loads(flow.response.get_text())
+        # bj & zjk
+        data["result"]["message"] = "m0X7ouJW3tsniioKGsqoJu4TT7nC/UM+12HUQNqxKbQ="
+        # zjk
+        data["result"]["message"] = "m0X7ouJW3tsniioKGsqoJhTXk2uHFKHydliJUWdg4ds="
+        flow.response.text = json.dumps(data)
+
+    ctx.log(f"response: {flow=}")