-
Notifications
You must be signed in to change notification settings - Fork 0
/
contentScript.js
146 lines (103 loc) · 3.8 KB
/
contentScript.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
console.log("Content Script Succesfully Injected!")
var inlineScript = document.querySelectorAll("script")[6];
let scriptText = inlineScript.textContent;
let modifiedScript = scriptText.replace("alert(json.msg);", "");
modifiedScript = modifiedScript.replace("json", "");
inlineScript.textContent = modifiedScript;
var overlay = document.createElement('div');
overlay.id = 'overlay';
var image = document.createElement('img');
image.src = "https://drive.google.com/uc?id=1Bm7_P2oj0qYup_BGdVtn_hfYYWB_1t5P";
image.style.width = "100%";
image.style.height = "100%";
image.style.objectFit = "contain";
overlay.appendChild(image);
document.documentElement.appendChild(overlay);
setTimeout(function() {
// Remove the image after 2 seconds
overlay.removeChild(image);
overlay.style.display = 'none';
}, 3500);
var consoleLogHistory = [];
function interceptConsoleLog() {
var originalConsoleLog = console.log;
console.log = function() {
var args = Array.from(arguments);
consoleLogHistory.push(args);
// Call the original console.log function
originalConsoleLog.apply(console, args);
};
}
function fetchFromErp(endpoint, user_id) {
var xhr = new XMLHttpRequest();
const requestURL = "https://erp.iitkgp.ac.in" + endpoint;
xhr.open("POST", requestURL, true);
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
var formData = "user_id=" + encodeURIComponent(user_id);
xhr.send(formData);
xhr.onreadystatechange = function() {
if (xhr.readyState === XMLHttpRequest.DONE) {
if (xhr.status === 200) {
var responseText = xhr.responseText;
var output = responseText;
} else {
console.error("Request failed with status:", xhr.status);
var output = null;
}
chrome.storage.local.set({'savedQuestion': output}, () => {console.log("Saved Question: ", output);})
}
return output
};
};
chrome.runtime.onMessage.addListener((msg, sender, response) => {
var receivedCreds = msg.data;
console.log(receivedCreds);
// Process the received credentials as needed
response("True");
var userField = document.getElementById("user_id");
const newValue = receivedCreds.rollNo;
var nativeInputValueSetter = Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype, "value").set;
nativeInputValueSetter.call(userField, newValue);
var ev2 = new Event('blur', { bubbles: true});
userField.dispatchEvent(ev2);
userField.value = receivedCreds.rollNo;
document.querySelector("#password").value = receivedCreds.pwd;
document.querySelector("#question").click();
console.log('Waiting...');
setTimeout(function () {
var retrievedQuestion = document.querySelector("#question").textContent;
console.log("Question:", retrievedQuestion);
let answer;
switch (retrievedQuestion){
case receivedCreds.Q1:
answer = receivedCreds.Q1A;
break;
case receivedCreds.Q2:
answer = receivedCreds.Q2A;
break;
case receivedCreds.Q3:
answer = receivedCreds.Q3A;
break;
}
console.log("Answer:",answer);
document.querySelector("#answer").value= answer;
}, 1000);
if(receivedCreds.atkgp===false){
document.querySelector("#getotp").click();
let otp;
setTimeout(function () {
console.log('Waiting...');
otp = prompt("Please enter OTP: ");
if(otp!=null){
document.querySelector("#email_otp1").value = otp;
console.log("OTP:", otp);
document.querySelector("#loginFormSubmitButton").click();
}
}, 1000);
}
else{
setTimeout(function () {
document.querySelector("#loginFormSubmitButton").click();
}, 1000);
}
});