Commit 32c79cc9 authored by wang's avatar wang

ff

parent c34a88df
......@@ -708,6 +708,8 @@ try {
vendor: navigator.vendor,
vendorsub: navigator.vendorSub,
donottrack: navigator.doNotTrack,
buildid: navigator.buildID,
oscpu: navigator.oscpu,
}
let screenparams = {
......
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -45,7 +45,7 @@ usedTime = 10
code = open('src.js', 'r').read()
for i in range(100):
selectId = random.choice(list(envs))
# selectId = 'ac22733c38ee66a568f17174'
selectId = '1'
c = requests.get('https://www.jetblue.com/js/src/jb-74873.js').text
m5 = md5(c)
if m5 != lastHash and usedTime > 3:
......@@ -67,10 +67,11 @@ for i in range(100):
else:
raise Exception("执行js失败")
r = json.loads(tmp)
res = db.env_shape.update_one(
{'_id': ObjectId(selectId)},
{"$inc": {"used": 1}}
)
if selectId != '1':
res = db.env_shape.update_one(
{'_id': ObjectId(selectId)},
{"$inc": {"used": 1}}
)
usedTime += 1
# r = {
# "X-1ItxWO9i-b": "-xsyeom",
......@@ -127,8 +128,8 @@ for i in range(100):
proxy = f'http://unfflcc:76cc14-47b8dd-1f8ace-827836-0c740e@usa.rotating.proxyrack.net:{int(random.randint(10000, 11149))}'
# proxy = f'http://unfflcc:76cc14-47b8dd-1f8ace-827836-0c740e@198.147.25.26:{int(random.randint(10000, 11149))}'
# proxy = 'http://user-unifflcc-region-us:q39CEBTs5A5YQXor@pr.roxlabs.cn:4600'
# proxy = 'http://127.0.0.1:7890'
session = tls_client.Session(client_identifier='chrome_110')
proxy = 'http://127.0.0.1:7890'
session = tls_client.Session(client_identifier='firefox_104')
session.proxies = {
'http': proxy,
'https': proxy,
......@@ -139,10 +140,11 @@ for i in range(100):
# print(response.text)
print(response.status_code)
if response.status_code == 200:
res = db.env_shape.update_one(
{'_id': ObjectId(selectId)},
{"$inc": {"success": 1}}
)
if selectId != '1':
res = db.env_shape.update_one(
{'_id': ObjectId(selectId)},
{"$inc": {"success": 1}}
)
# proxy = requests.post('http://ymx-lcc.unififi.com/proxy/get-proxy', json={
# 'type':'headerB6'
# })
......
......@@ -19,7 +19,7 @@ var v_saf;
}), u(Function.prototype.toString, "toString"), v_saf = u
}();
const fss = require("fs");
var ENVS = JSON.parse(fss.readFileSync('env.json').toString())
var ENVS = JSON.parse(fss.readFileSync('ff.json').toString())
// dc6a639f12738c9276d68c74
let keys = Object.keys(ENVS);
for (let i = 0; i <keys.length; i++) {
......@@ -27,7 +27,7 @@ for (let i = 0; i <keys.length; i++) {
}
// let sid = process.argv[2] || keys[parseInt(Math.random() * keys.length)]
let sid = process.argv[2] || '8ffdff7b995c8ad51d902ff0';
let sid = process.argv[2] || '1';
let ENV = ENVS[sid]
// const crypto = require('crypto');
......@@ -63,7 +63,7 @@ Object.defineProperties(console, {
})
console.Console = undefined;
console.log(Object.keys(Object.getOwnPropertyDescriptors(console)))
if (sid === '8ffdff7b995c8ad51d902ff0'){
if (sid === '8ffdff7b995c8ad51d902ff0' || sid === '1'){
Date.now = function now() { return 1693903208580 };
Date.parse = function () { return 1693903208580 };
Date.prototype.valueOf = function () { return 1693903208580 };
......@@ -485,15 +485,18 @@ navis = {
appVersion: ENV.navigatorparams.appversion,
language: "en-US",
languages: ['en-US', 'en', 'ru'],
maxTouchPoints: 0,
maxTouchPoints: ENV.navigatorparams.maxtouchpoints,
platform: ENV.navigatorparams.platform,
product: ENV.navigatorparams.product,
productSub: ENV.navigatorparams.productsub,
userAgent: ENV.navigatorparams.useragent,
vendor: ENV.navigatorparams.vendor,
vendorSub: "",
vendorSub: ENV.navigatorparams.vendorsub,
webdriver: false,
hardwareconcurrency: ENV.navigatorparams.hardwareconcurrency
hardwareconcurrency: ENV.navigatorparams.hardwareconcurrency,
doNotTrack: ENV.navigatorparams.donottrack,
buildID:ENV.navigatorparams.buildid,
oscpu:ENV.navigatorparams.oscpu,
}
// navis = fingerprint.navigator
......@@ -504,6 +507,16 @@ Object.defineProperties(Navigator.prototype, {
return v_new(MediaDevices)
}
},
buildID: {
get(){
return navis.buildID
}
},
oscpu: {
get(){
return navis.oscpu
}
},
// cpuClass: {
// get(){
// v_console_log(" [*] Navigator -> cpuClass[get]", this._plugins || []);
......@@ -596,11 +609,12 @@ Object.defineProperties(Navigator.prototype, {
vendorSub: {
get() {
v_console_log(" [*] Navigator -> vendorSub[get]", "");
return ""
return navis.vendorSub
}
},
doNotTrack: {
get() {
return navis.doNotTrack
v_console_log(" [*] Navigator -> doNotTrack[get]", null);
return null
}
......@@ -617,12 +631,7 @@ Object.defineProperties(Navigator.prototype, {
return {}
}
},
bluetooth: {
get() {
v_console_log(" [*] Navigator -> bluetooth[get]", {});
return v_new(Bluetooth)
}
},
credentials: {
get() {
v_console_log(" [*] Navigator -> credentials[get]", {});
......@@ -669,6 +678,18 @@ Object.defineProperties(Navigator.prototype, {
},
[Symbol.toStringTag]: {value: "Navigator", writable: false, enumerable: false, configurable: true},
})
if (navis.userAgent.indexOf('Firefox') === -1){
Object.defineProperties(Navigator.prototype, {
bluetooth: {
get() {
v_console_log(" [*] Navigator -> bluetooth[get]", {});
return v_new(Bluetooth)
}
},
})
}
TextMetrics = v_saf(function TextMetrics() {
if (!v_new_toggle) {
throw TypeError("Illegal constructor")
......@@ -868,12 +889,7 @@ window.RTCDtlsTransport = v_saf(function RTCDtlsTransport() {
}
;
});
window.BarcodeDetector = v_saf(function BarcodeDetector() {
if (!v_new_toggle) {
throw TypeError("Illegal constructor")
}
;
});
window.EventCounts = v_saf(function EventCounts() {
if (!v_new_toggle) {
throw TypeError("Illegal constructor")
......@@ -1333,8 +1349,8 @@ function v_init_event_target() {
var offr = Math.random()
function make_touch(_this, type, x, y, timeStamp) {
var offx = Math.random()
var offy = Math.random()
var offx = _random()
var offy = _random()
var t = v_new(new v_saf(function Touch() {
}))
t = clientX = offx + x
......@@ -1372,7 +1388,7 @@ function v_init_event_target() {
e.srcElement = _this
e.target = _this
e.type = type
e.timeStamp = timeStamp == undefined ? (new Date - v_start_stamp) : ((v_fake_stamp += Math.random() * 20) - v_start_stamp)
e.timeStamp = timeStamp == undefined ? (new Date - v_start_stamp) : ((v_fake_stamp += _random() * 20) - v_start_stamp)
e.view = window
e.which = 0
return e
......@@ -1397,8 +1413,8 @@ function v_init_event_target() {
return y;
}
var lp = Math.random()
var rp = Math.random()
var lp = _random()
var rp = _random()
var xx1 = (x1 + (x2 - x1) / 12 * (4 - lp * 4)) ^ 0
var yy1 = (y1 + (y2 - y1) / 12 * (8 + lp * 4)) ^ 0
var xx2 = (x1 + (x2 - x1) / 12 * (8 + rp * 4)) ^ 0
......@@ -2372,7 +2388,7 @@ TouchEvent = v_saf(function TouchEvent() {
;
});
_inherits(TouchEvent, UIEvent)
window.TouchEvent = TouchEvent
window.StaticRange = v_saf(function StaticRange() {
})
PointerEvent = v_saf(function PointerEvent() {
......@@ -3890,8 +3906,8 @@ Object.defineProperties(UIEvent.prototype, {
window.RTCPeerConnectionIceEvent = RTCPeerConnectionIceEvent;
window.webkitResolveLocalFileSystemURL = webkitResolveLocalFileSystemURL;
window.webkitRequestAnimationFrame = webkitRequestAnimationFrame;
Object.defineProperties(HTMLIFrameElement.prototype, {
id: {enumerable: true, configurable: true, writable: true},
contentWindow: {value: window, enumerable: true, configurable: true, writable: true},
......@@ -4181,16 +4197,11 @@ location.__proto__ = Location.prototype
DOMStringList = v_saf(function DOMStringList(){
})
Object.defineProperties(location, {
ancestorOrigins: {
get: v_saf(function ancestorOrigins(){
return new DOMStringList()
}),
enumerable:true,
configurable:false
},
assign: {
value: v_saf(function assign(){
......@@ -4235,7 +4246,18 @@ Object.defineProperties(location, {
},
})
if (navis.userAgent.indexOf('Firefox') === -1) {
Object.defineProperties(location , {
ancestorOrigins: {
get: v_saf(function ancestorOrigins(){
return new DOMStringList()
}),
enumerable:true,
configurable:false
},
})
}
location.href = 'https://www.jetblue.com/booking/flights?from=LAS&to=BOS&depart=2023-07-10&isMultiCity=false&noOfRoute=1&lang=en&adults=1&children=0&infants=0&sharedMarket=false&roundTripFaresFlag=false&usePoints=false'
Object.defineProperties(location, {
href: {
......@@ -4370,6 +4392,8 @@ window.innerHeight = ENV.windowparams.innerheight;
window.outerHeight = ENV.windowparams.outerheight;
window.screenLeft = 0;
window.screenTop = ENV.windowparams.screeny || 120;
window.screenX = ENV.windowparams.screenx
window.screenY = ENV.windowparams.screeny
// todo
if (sid === '8ffdff7b995c8ad51d902ff0') {
// {"innerHeight":853,"innerWidth":1920,"outerHeight":970,"outerWidth":1920,"screenX":null,"screenY":25,"isSecureContext":true,"devicePixelRatio":1}
......@@ -5852,7 +5876,23 @@ BluetoothUUID = v_saf(function BluetoothUUID() {
document.__proto__ = HTMLDocument.prototype
window.document = document
window.BluetoothUUID = BluetoothUUID
if (ENV.navigatorparams.useragent.indexOf('Firefox') > -1){
window.netscape = {}
}else{
window.TouchEvent = TouchEvent
window.webkitResolveLocalFileSystemURL = webkitResolveLocalFileSystemURL;
window.webkitRequestAnimationFrame = webkitRequestAnimationFrame;
window.RTCPeerConnection = RTCPeerConnection;
window.webkitRTCPeerConnection = RTCPeerConnection;
window.BluetoothUUID = BluetoothUUID
window.BarcodeDetector = v_saf(function BarcodeDetector() {
if (!v_new_toggle) {
throw TypeError("Illegal constructor")
}
;
});
}
window.Animation = Animation;
window.Worker = Worker;
window.URL = URL;
......@@ -5872,8 +5912,8 @@ window.Comment = Comment;
window.Document = Document;
window.DOMException = DOMException;
window.DOMMatrixReadOnly = DOMMatrixReadOnly;
window.RTCPeerConnection = RTCPeerConnection;
window.webkitRTCPeerConnection = RTCPeerConnection;
window.DOMParser = DOMParser;
window.FileReader = FileReader;
window.FormData = FormData;
......@@ -5944,6 +5984,9 @@ Object.defineProperties(History.prototype, {
if (sid === '8ffdff7b995c8ad51d902ff0'){
return 2
}
if (sid === '1'){
return 4
}
return parseInt(Math.random() * 10 + 1)
}
},
......@@ -6029,10 +6072,10 @@ console.log('当前times', times)
print(events)
print(v_events)
// window.debug = true
startx = parseInt(1000 * Math.random())
starty = parseInt(1000 * Math.random())
endx = parseInt(1000 * Math.random())
endy = parseInt(1000 * Math.random())
startx = parseInt(1000 * _random())
starty = parseInt(1000 * _random())
endx = parseInt(1000 * _random())
endy = parseInt(1000 * _random())
// window.debug = true
// window.mouse_move(startx,starty,endx,endy)
// window.debug = false
......@@ -6042,7 +6085,8 @@ endy = parseInt(1000 * Math.random())
// debug = true;
setTimeout(function (){
window.mouse_move(startx,starty,endx,endy)
// window.mouse_move(startx,starty,endx,endy)
var xhr = new XMLHttpRequest();
xhr.open('POST', "https://jbrest.jetblue.com/lfs-rwb/outboundLFS", false);
xhr.send("{\"tripType\":\"oneWay\",\"from\":\"ZLA\",\"to\":\"NAS\",\"depart\":\"2023-04-11\",\"cabin\":\"economy\",\"refundable\":false,\"dates\":{\"before\":\"3\",\"after\":\"3\"},\"pax\":{\"ADT\":1,\"CHD\":0,\"INF\":0,\"UNN\":0},\"redempoint\":false,\"pointsBreakup\":{\"option\":\"\",\"value\":0},\"isMultiCity\":false}")
......@@ -6144,11 +6188,11 @@ Object.defineProperty = function (p, v,d){
// debugger;
d.value = undefined;
}
// if (v === 'stack' && Object.keys(d).length === 1){
// debugger;
// d.get = undefined
// // throw TypeError('asdasd')
// }
if (v === 'stack' && Object.keys(d).length === 1){
debugger;
d.get = undefined
// throw TypeError('asdasd')
}
if ((v === 'c' || v === 'd' || v === 'b') && d.value === false){
d.value = true;
// debugger;
......@@ -6159,8 +6203,11 @@ Object.defineProperty = function (p, v,d){
_join = Array.prototype.join;
Array.prototype.join = function (s){
// console.log('join', this, s)
console.log('join', this, s)
if (this[0] === '{"foo\\u0000bar":42}'){
// if (navis.userAgent.indexOf('Firefox')> -1) {
// return `{"foo\\u0000bar":42}INVALID:SyntaxError: JSON.parse: expected ',' or ']' after array element at line 1 column 4 of the JSON dataINVALID:SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON dataINVALID:SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data`
// }
return `{"foo\\u0000bar":42}INVALID:SyntaxError: Expected ',' or ']' after array element in JSON at position 3INVALID:SyntaxError: Unexpected token '�', "�{}" is not valid JSONINVALID:SyntaxError: Unexpected token '�', "��[\x00\x00�\x00\x00]\x00" is not valid JSON`
}
return _join.call(this, s)
......
_join = Array.prototype.join;
Array.prototype.join = function (s){
if (this[0] === '{"foo\\u0000bar":42}'){
console.log('join', this, s, _join.call(this, s))
return `{"foo\\u0000bar":42}INVALID:SyntaxError: Expected ',' or ']' after array element in JSON at position 3INVALID:SyntaxError: Unexpected token '�', "�{}" is not valid JSONINVALID:SyntaxError: Unexpected token '�', "��[\x00\x00�\x00\x00]\x00" is not valid JSON`
}
if (this.includes('groupCollapsed')){
let res = _join.call([
'assert', 'clear',
'context', 'count',
'countReset', 'createTask',
'debug', 'dir',
'dirxml', 'error',
'group', 'groupCollapsed',
'groupEnd', 'info',
'log', 'memory',
'profile', 'profileEnd',
'table', 'time',
'timeEnd', 'timeLog',
'timeStamp', 'trace',
'warn'
], s);
console.log('join', this, s, res)
return res;
}
return _join.call(this, s)
}
Date.now = function now() {
return 1693903208580
};
......@@ -1112,6 +1142,14 @@ con3 = function () {
"use strict";
let res = na.W[na.W.length - 2][na.W[na.W.length - 1]];
con3(na.W[na.W.length - 2], 'get', na.W[na.W.length - 1], '==>', res)
// if ( na.W[na.W.length - 1]=== 'requestMediaKeySystemAccess'){
if ( res === 'SQRT2'){
con4(na.W[na.W.length - 2])
}
if (typeof res ==='boolean'){
con4(na.W[na.W.length - 2])
}
na.W[na.W.length - 2] = res;
if (Array.isArray(na.W[na.W.length - 2]) && na.W[na.W.length - 2].length === 60) {
let res = [];
......
......@@ -91,8 +91,8 @@ print = console.log
dtavm.log = console.log
let con3 = console.log
let con4 = console.log
con3 = function (){}
con4 = function (){}
// con3 = function (){}
// con4 = function (){}
......@@ -485,15 +485,18 @@ navis = {
appVersion: ENV.navigatorparams.appversion,
language: "en-US",
languages: ['en-US', 'en', 'ru'],
maxTouchPoints: 0,
maxTouchPoints: ENV.navigatorparams.maxtouchpoints,
platform: ENV.navigatorparams.platform,
product: ENV.navigatorparams.product,
productSub: ENV.navigatorparams.productsub,
userAgent: ENV.navigatorparams.useragent,
vendor: ENV.navigatorparams.vendor,
vendorSub: "",
vendorSub: ENV.navigatorparams.vendorsub,
webdriver: false,
hardwareconcurrency: ENV.navigatorparams.hardwareconcurrency
hardwareconcurrency: ENV.navigatorparams.hardwareconcurrency,
doNotTrack: ENV.navigatorparams.donottrack,
buildID:ENV.navigatorparams.buildid,
oscpu:ENV.navigatorparams.oscpu,
}
// navis = fingerprint.navigator
......@@ -504,6 +507,16 @@ Object.defineProperties(Navigator.prototype, {
return v_new(MediaDevices)
}
},
buildID: {
get(){
return navis.buildID
}
},
oscpu: {
get(){
return navis.oscpu
}
},
// cpuClass: {
// get(){
// v_console_log(" [*] Navigator -> cpuClass[get]", this._plugins || []);
......@@ -596,11 +609,12 @@ Object.defineProperties(Navigator.prototype, {
vendorSub: {
get() {
v_console_log(" [*] Navigator -> vendorSub[get]", "");
return ""
return navis.vendorSub
}
},
doNotTrack: {
get() {
return navis.doNotTrack
v_console_log(" [*] Navigator -> doNotTrack[get]", null);
return null
}
......@@ -617,12 +631,7 @@ Object.defineProperties(Navigator.prototype, {
return {}
}
},
bluetooth: {
get() {
v_console_log(" [*] Navigator -> bluetooth[get]", {});
return v_new(Bluetooth)
}
},
credentials: {
get() {
v_console_log(" [*] Navigator -> credentials[get]", {});
......@@ -669,6 +678,18 @@ Object.defineProperties(Navigator.prototype, {
},
[Symbol.toStringTag]: {value: "Navigator", writable: false, enumerable: false, configurable: true},
})
if (navis.userAgent.indexOf('Firefox') === -1){
Object.defineProperties(Navigator.prototype, {
bluetooth: {
get() {
v_console_log(" [*] Navigator -> bluetooth[get]", {});
return v_new(Bluetooth)
}
},
})
}
TextMetrics = v_saf(function TextMetrics() {
if (!v_new_toggle) {
throw TypeError("Illegal constructor")
......@@ -847,13 +868,7 @@ FeaturePolicy = v_saf(function FeaturePolicy() {
;
});
window.FeaturePolicy = FeaturePolicy;
XRHitTestResult = v_saf(function XRHitTestResult() {
if (!v_new_toggle) {
throw TypeError("Illegal constructor")
}
;
});
window.XRHitTestResult = XRHitTestResult;
// todo hasOwnProperty 的环境
window.crossOriginIsolated = false
window.AbstractRange = v_saf(function AbstractRange() {
......@@ -868,12 +883,7 @@ window.RTCDtlsTransport = v_saf(function RTCDtlsTransport() {
}
;
});
window.BarcodeDetector = v_saf(function BarcodeDetector() {
if (!v_new_toggle) {
throw TypeError("Illegal constructor")
}
;
});
window.EventCounts = v_saf(function EventCounts() {
if (!v_new_toggle) {
throw TypeError("Illegal constructor")
......@@ -898,12 +908,7 @@ window.WritableStreamDefaultController = v_saf(function WritableStreamDefaultCon
}
;
});
window.HID = v_saf(function HID() {
if (!v_new_toggle) {
throw TypeError("Illegal constructor")
}
;
});
window.CSSCounterStyleRule = v_saf(function CSSCounterStyleRule() {
if (!v_new_toggle) {
throw TypeError("Illegal constructor")
......@@ -922,42 +927,21 @@ window.PerformancePaintTiming = v_saf(function PerformancePaintTiming() {
}
;
});
window.AudioData = v_saf(function AudioData() {
if (!v_new_toggle) {
throw TypeError("Illegal constructor")
}
;
});
window.DOMRectList = v_saf(function DOMRectList() {
if (!v_new_toggle) {
throw TypeError("Illegal constructor")
}
;
});
window.FragmentDirective = v_saf(function FragmentDirective() {
if (!v_new_toggle) {
throw TypeError("Illegal constructor")
}
;
});
window.Sanitizer = v_saf(function Sanitizer() {
if (!v_new_toggle) {
throw TypeError("Illegal constructor")
}
;
});
window.Lock = v_saf(function Lock() {
if (!v_new_toggle) {
throw TypeError("Illegal constructor")
}
;
});
window.EyeDropper = v_saf(function EyeDropper() {
if (!v_new_toggle) {
throw TypeError("Illegal constructor")
}
;
});
window.CSSLayerBlockRule = v_saf(function CSSLayerBlockRule() {
if (!v_new_toggle) {
throw TypeError("Illegal constructor")
......@@ -970,12 +954,7 @@ window.ServiceWorkerContainer = v_saf(function ServiceWorkerContainer() {
}
;
});
window.IdleDetector = v_saf(function IdleDetector() {
if (!v_new_toggle) {
throw TypeError("Illegal constructor")
}
;
});
window.HTMLDialogElement = v_saf(function HTMLDialogElement() {
if (!v_new_toggle) {
throw TypeError("Illegal constructor")
......@@ -988,36 +967,16 @@ window.CSSFontPaletteValuesRule = v_saf(function CSSFontPaletteValuesRule() {
}
;
});
window.CSSMathClamp = v_saf(function CSSMathClamp() {
if (!v_new_toggle) {
throw TypeError("Illegal constructor")
}
;
});
window.NavigationPreloadManager = v_saf(function NavigationPreloadManager() {
if (!v_new_toggle) {
throw TypeError("Illegal constructor")
}
;
});
window.LaunchParams = v_saf(function LaunchParams() {
if (!v_new_toggle) {
throw TypeError("Illegal constructor")
}
;
});
window.BrowserCaptureMediaStreamTrack = v_saf(function BrowserCaptureMediaStreamTrack() {
if (!v_new_toggle) {
throw TypeError("Illegal constructor")
}
;
});
window.FontData = v_saf(function FontData() {
if (!v_new_toggle) {
throw TypeError("Illegal constructor")
}
;
});
window.ReadableByteStreamController = v_saf(function ReadableByteStreamController() {
if (!v_new_toggle) {
throw TypeError("Illegal constructor")
......@@ -1030,18 +989,6 @@ window.OffscreenCanvas = v_saf(function OffscreenCanvas() {
}
;
});
window.MediaSourceHandle = v_saf(function MediaSourceHandle() {
if (!v_new_toggle) {
throw TypeError("Illegal constructor")
}
;
});
window.XRCamera = v_saf(function XRCamera() {
if (!v_new_toggle) {
throw TypeError("Illegal constructor")
}
;
});
MessageEvent = v_saf(function MessageEvent() {
......@@ -2372,7 +2319,7 @@ TouchEvent = v_saf(function TouchEvent() {
;
});
_inherits(TouchEvent, UIEvent)
window.TouchEvent = TouchEvent
window.StaticRange = v_saf(function StaticRange() {
})
PointerEvent = v_saf(function PointerEvent() {
......@@ -3890,8 +3837,8 @@ Object.defineProperties(UIEvent.prototype, {
window.RTCPeerConnectionIceEvent = RTCPeerConnectionIceEvent;
window.webkitResolveLocalFileSystemURL = webkitResolveLocalFileSystemURL;
window.webkitRequestAnimationFrame = webkitRequestAnimationFrame;
Object.defineProperties(HTMLIFrameElement.prototype, {
id: {enumerable: true, configurable: true, writable: true},
contentWindow: {value: window, enumerable: true, configurable: true, writable: true},
......@@ -4181,16 +4128,11 @@ location.__proto__ = Location.prototype
DOMStringList = v_saf(function DOMStringList(){
})
Object.defineProperties(location, {
ancestorOrigins: {
get: v_saf(function ancestorOrigins(){
return new DOMStringList()
}),
enumerable:true,
configurable:false
},
assign: {
value: v_saf(function assign(){
......@@ -4235,7 +4177,18 @@ Object.defineProperties(location, {
},
})
if (navis.userAgent.indexOf('Firefox') === -1) {
Object.defineProperties(location , {
ancestorOrigins: {
get: v_saf(function ancestorOrigins(){
return new DOMStringList()
}),
enumerable:true,
configurable:false
},
})
}
location.href = 'https://www.jetblue.com/booking/flights?from=LAS&to=BOS&depart=2023-07-10&isMultiCity=false&noOfRoute=1&lang=en&adults=1&children=0&infants=0&sharedMarket=false&roundTripFaresFlag=false&usePoints=false'
Object.defineProperties(location, {
href: {
......@@ -4370,6 +4323,8 @@ window.innerHeight = ENV.windowparams.innerheight;
window.outerHeight = ENV.windowparams.outerheight;
window.screenLeft = 0;
window.screenTop = ENV.windowparams.screeny || 120;
window.screenX = ENV.windowparams.screenx
window.screenY = ENV.windowparams.screeny
// todo
if (sid === '8ffdff7b995c8ad51d902ff0') {
// {"innerHeight":853,"innerWidth":1920,"outerHeight":970,"outerWidth":1920,"screenX":null,"screenY":25,"isSecureContext":true,"devicePixelRatio":1}
......@@ -5852,7 +5807,105 @@ BluetoothUUID = v_saf(function BluetoothUUID() {
document.__proto__ = HTMLDocument.prototype
window.document = document
window.BluetoothUUID = BluetoothUUID
if (ENV.navigatorparams.useragent.indexOf('Firefox') > -1){
window.netscape = {}
}else{
window.TouchEvent = TouchEvent
window.webkitResolveLocalFileSystemURL = webkitResolveLocalFileSystemURL;
window.webkitRequestAnimationFrame = webkitRequestAnimationFrame;
window.RTCPeerConnection = RTCPeerConnection;
window.webkitRTCPeerConnection = RTCPeerConnection;
window.BrowserCaptureMediaStreamTrack = v_saf(function BrowserCaptureMediaStreamTrack() {
if (!v_new_toggle) {
throw TypeError("Illegal constructor")
}
;
});
window.LaunchParams = v_saf(function LaunchParams() {
if (!v_new_toggle) {
throw TypeError("Illegal constructor")
}
;
});
window.CSSMathClamp = v_saf(function CSSMathClamp() {
if (!v_new_toggle) {
throw TypeError("Illegal constructor")
}
;
});
window.IdleDetector = v_saf(function IdleDetector() {
if (!v_new_toggle) {
throw TypeError("Illegal constructor")
}
;
});
window.MediaSourceHandle = v_saf(function MediaSourceHandle() {
if (!v_new_toggle) {
throw TypeError("Illegal constructor")
}
;
});
window.XRCamera = v_saf(function XRCamera() {
if (!v_new_toggle) {
throw TypeError("Illegal constructor")
}
;
});
window.FontData = v_saf(function FontData() {
if (!v_new_toggle) {
throw TypeError("Illegal constructor")
}
;
});
window.BluetoothUUID = BluetoothUUID
window.BarcodeDetector = v_saf(function BarcodeDetector() {
if (!v_new_toggle) {
throw TypeError("Illegal constructor")
}
;
XRHitTestResult = v_saf(function XRHitTestResult() {
if (!v_new_toggle) {
throw TypeError("Illegal constructor")
}
;
});
window.XRHitTestResult = XRHitTestResult;
window.HID = v_saf(function HID() {
if (!v_new_toggle) {
throw TypeError("Illegal constructor")
}
;
window.AudioData = v_saf(function AudioData() {
if (!v_new_toggle) {
throw TypeError("Illegal constructor")
}
;
window.FragmentDirective = v_saf(function FragmentDirective() {
if (!v_new_toggle) {
throw TypeError("Illegal constructor")
}
;
});
window.Sanitizer = v_saf(function Sanitizer() {
if (!v_new_toggle) {
throw TypeError("Illegal constructor")
}
;
});
window.EyeDropper = v_saf(function EyeDropper() {
if (!v_new_toggle) {
throw TypeError("Illegal constructor")
}
;
});
});
});
});
}
window.Animation = Animation;
window.Worker = Worker;
window.URL = URL;
......@@ -5872,8 +5925,8 @@ window.Comment = Comment;
window.Document = Document;
window.DOMException = DOMException;
window.DOMMatrixReadOnly = DOMMatrixReadOnly;
window.RTCPeerConnection = RTCPeerConnection;
window.webkitRTCPeerConnection = RTCPeerConnection;
window.DOMParser = DOMParser;
window.FileReader = FileReader;
window.FormData = FormData;
......@@ -5944,6 +5997,9 @@ Object.defineProperties(History.prototype, {
if (sid === '8ffdff7b995c8ad51d902ff0'){
return 2
}
if (sid === '1'){
return 4
}
return parseInt(Math.random() * 10 + 1)
}
},
......@@ -6145,11 +6201,11 @@ Object.defineProperty = function (p, v,d){
// debugger;
d.value = undefined;
}
// if (v === 'stack' && Object.keys(d).length === 1){
// debugger;
// d.get = undefined
// // throw TypeError('asdasd')
// }
if (v === 'stack' && Object.keys(d).length === 1){
debugger;
d.get = undefined
// throw TypeError('asdasd')
}
if ((v === 'c' || v === 'd' || v === 'b') && d.value === false){
d.value = true;
// debugger;
......@@ -6160,8 +6216,11 @@ Object.defineProperty = function (p, v,d){
_join = Array.prototype.join;
Array.prototype.join = function (s){
// console.log('join', this, s)
console.log('join', this, s)
if (this[0] === '{"foo\\u0000bar":42}'){
// if (navis.userAgent.indexOf('Firefox')> -1) {
// return `{"foo\\u0000bar":42}INVALID:SyntaxError: JSON.parse: expected ',' or ']' after array element at line 1 column 4 of the JSON dataINVALID:SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON dataINVALID:SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data`
// }
return `{"foo\\u0000bar":42}INVALID:SyntaxError: Expected ',' or ']' after array element in JSON at position 3INVALID:SyntaxError: Unexpected token '�', "�{}" is not valid JSONINVALID:SyntaxError: Unexpected token '�', "��[\x00\x00�\x00\x00]\x00" is not valid JSON`
}
return _join.call(this, s)
......
No preview for this file type
# import tls_client
#
# session = tls_client.Session(client_identifier='chrome_112')
# url = "https://jbrest.jetblue.com/lfs-rwb/outboundLFS"
# data = {
# "tripType": "oneWay",
# "from": "LAS",
# "to": "BOS",
# "depart": "2023-09-10",
# "cabin": "economy",
# "refundable": False,
# "dates": {
# "before": "3",
# "after": "3"
# },
# "pax": {
# "ADT": 1,
# "CHD": 0,
# "INF": 0,
# "UNN": 0
# },
# "redempoint": False,
# "pointsBreakup": {
# "option": "",
# "value": 0
# },
# "isMultiCity": False,
# "isDomestic": False
# }
# # proxy = 'http://user-unifflcc-region-us:q39CEBTs5A5YQXor@pr.roxlabs.cn:4600'
# proxy = 'http://unfflcc:76cc14-47b8dd-1f8ace-827836-0c740e@usa.rotating.proxyrack.net:10730'
# # proxy = 'http://127.0.0.1:7890'
# session.proxies = {
# 'http': proxy,
# 'https': proxy,
# }
# # print(proxy)
#
# headers = {'Host': 'jbrest.jetblue.com', 'application-channel': 'Desktop_Web', 'sec-ch-ua-platform': '"macOS"', 'sec-ch-ua-mobile': '?0', 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/114.0', 'booking-application-type': 'NGB', 'content-type': 'application/json', 'accept': 'application/json', 'api-version': 'v3', 'origin': 'https://www.jetblue.com', 'sec-fetch-site': 'same-site', 'sec-fetch-mode': 'cors', 'sec-fetch-dest': 'empty', 'accept-language': 'en-US,en;q=0.9,zh-CN;q=0.8,zh;q=0.7', 'x-1itxwo9i-f': 'AxvBzMmJAQAAaAQ7zgSP4nlKcZSttXsGb9uYkkLY7uLh100Yc-RKVcn629ZUAWe0HDyuchRAwH9eCOfvosJeCA==', 'x-1itxwo9i-b': 'uixy0h', 'x-1itxwo9i-c': 'AIDoycmJAQAAXTn26Pxf_1wI4-I5djOjN3T2MOw-0aPIA0D-voJsBMavdngQ', 'x-1itxwo9i-d': 'ABaAhIjBCKHFgQGAAYIQgISi0aIA5JmBzvpDzz8AgmwExq92eBAAAAAAH29cNgATB04U6gtu8Zerkf2sfOfx', 'x-1itxwo9i-z': 'q', 'x-1itxwo9i-a': 'IQ8hzLAo5YXL9aH30LKiw8OwGY2HpPNnv5BWJWU6AKbOmW3muL8zYxi0jh6WuRhqMk3UKDMh-xMVBNqos1z0yTHWgLRPDxu5CiJMjAu-sp_Aut3go7bqfI0hvfMc14flP8mN1cXSrI7p5Irr7-TuOjsB_JHzJ2biP7pQrwD3qW9GByOtW3b5uAmpghgv5TMT9NmnrIMzaiw1wGQUxe5w0Nmt3NvmkODRITQuHR81yBWIFBGbWJexl-8bfhVS1YPmdGjabjWjIyHVwgiP9B_AFKVE0TMTvXXksO=LYw92VjpH0W_lQ8NaN8px4FUYcX_09l-yo6PmE=WCNP20rEQ4uDK0ddHtH6woUjxHKXzc6ossSo4NlSDjILznJaa5RHeNTeKDeJeRpdbsMdCaCWd2=YnPDCK4sh1KlV4H68K7fcXTij9rpswKgX1Gp5KNyq8Aj06q6hoeOf4LbB_hFIjy41=fqX_a4gm-D3Fu-srNXg0pwxtUl97gUAo1AgFcGja=Rhm1M9qrUcE1FKpeBTAKC_lhbMkDjioXEbjWALjkmIN8E=fl==UX0X0-nLt5oYUNQnoYIcvPQrGkdp4AUEeYzW=TM5SU1PJkESu4hFuq1SICm3h6VmkTnT4tcqSrM_jMOg6LwR4E2IhmGGM9yXys-ij1GjAyQ9df37W4WbPrjT=TuIqBx_WXgsorJ-6sg0x9vscmiGKl6KqSj1qqudPAneyTfl4Pwv2xd_iPsvK7IA9AxhuR5Rgokal4lV32cuWvuJqkE8INbMi7HtShUlKo4ci7KoHu9FJ-RBX0-G7hR1LwTDW1Gex61KrFjrBD_kasnE6_aN7EUflgrcivkVB2NDsnWu2Y=KJF94TdbF2c1Oyp1QCPGVfbjk7mNxp_EXApSEw13ntT_PX5uwnT=Lq5GUJKs7X9IeLBXQtHp=shuI3knKCCT2kX1N3RdhbAvAszs0-PaSlPWOyBjTrqWKLEr_ppjV8DA3cw45W2g9mO9O6OlfetLUlt90GEAg7JbpmKa1pgyKu1hM5ktq_6KzmJzrmrp4rsFA1b-foV7BFtBJjvWmRPnJeHGwAawvgPKhFhM2zp_p=p2WtB8y0hWFdPb2rJeHLd2kpyMtGPeuEypmu=GnNFJtSpnqHd3RxNFGd0mKfkF9uuUARjPmGCwB=UliB7DMr-=jwLiyNiqt9sl74D1XmoNShkD0LdzvuilzqekrY9M86DXfbDMAB2hPW8Lw3bd=sjdHioVXUaVXOd41eRa6cpgm5lQyHGmdcYct_J0eJRED8nXVNWqHDBH8luCDq5OYALToh64cGtWm_7QHYQhVy2UYrkccvXKaSEIvnlOyN0=H5G2ufUw3PBUKUBCOmxQb7_BaHVtpQ2fzlguGYd-2TLsl7OCLwG9k1fkMJSOdVe6m4_VrXd6VSLQ0JbYzVGcVm97tQuKAbIfi7c'}
#
#
# response = session.post(url, headers=headers, json=data)
#
# print(response.text)
import base64
a1 = 'false,true,true,true,false,true,false,true,true,true,false,false,true,true,true,true,false,false,false,true,false,false,true,true,true,false,true,false,true,true,true,true,true,true,true,true,false,false,true,true,true,true,true,true'
a2 = "false,true,true,true,false,true,false,true,true,true,false,false,true,true,true,true,false,false,false,true,false,false,true,true,true,false,true,false,true,true,false,true,true,false,true,false,false,false,false,false,true,true,false,false"
from Crypto.PublicKey import RSA
from Crypto.Cipher import PKCS1_v1_5, PKCS1_OAEP
a3 = [
"XRHitTestResult",
"crossOriginIsolated",
"AbstractRange",
"RTCDtlsTransport",
"BarcodeDetector",
"EventCounts",
"SharedArrayBuffer",
"VisualViewport",
"FinalizationRegistry",
"WritableStreamDefaultController",
"HTMLMenuItemElement",
"HID",
"CSSCounterStyleRule",
"FileSystemDirectoryHandle",
"PerformancePaintTiming",
"onbeforeinput",
"ApplicationCache",
"AudioData",
"AudioTrack",
"DOMRectList",
"FragmentDirective",
"Sanitizer",
"onselectionchange",
"onsecuritypolicyviolation",
"structuredClone",
"XRHand",
"Lock",
"EyeDropper",
"CSSLayerBlockRule",
"ServiceWorkerContainer",
"IdleDetector",
"HTMLDialogElement",
"CSSFontPaletteValuesRule",
"CSSMathClamp",
"NavigationPreloadManager",
"LaunchParams",
"content",
"IDBFileHandle",
"BrowserCaptureMediaStreamTrack",
"FontData",
"ReadableByteStreamController",
"OffscreenCanvas",
"MediaSourceHandle",
"XRCamera"
]
public_key = '-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA+cSXdWRN7fovZBkzqcxIJNKQP1lytoU+wsLHXRZ6KDIYDl4H9M4DMtxnRrqsk52xw9lxIbe+P/vYeW2CoU7FB4iM4bvs+n48yqqUv6UkUB/BVH09sdX2ONkMQJmVqxMvaD2r7L7oxZ/POh1nstcGWufKTLYDuFce26vD9mVqikIC+7/lgnWZA5hbBlvtnzofJFbGqv1HBjCrlYsVBdU+okvJutys8EXlEm9Jc/WFoAM3bwIGOqKZwTMGYSBT7hoDxO7jazxh/EFEMPz9ofwf9ebJ5uk7sPVpk5pB2q5+pOmZMg/pRBFJidbZ4zy3ps6VlgN+4j5x/sc90cCNnNorkQIDAQAB\n-----END PUBLIC KEY-----'
plaintext = '4288160000079092'
rsakey = RSA.import_key(public_key)
cipher = PKCS1_OAEP.new(rsakey)
cipher_text = base64.b64encode(cipher.encrypt(plaintext.encode(encoding="utf-8")))
AccountNumberEncrypted = cipher_text.decode("utf-8")
print(len(AccountNumberEncrypted))
for iudx, (i, v) in enumerate(zip(a1.split(','),a2.split(','))):
# print(i,v, i== v)
if i != v:
print(i,v, a3[iudx])
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment