How can we start ngrok with same previous link?
Once we close the ngrok in kali linux or we turn off our PC ngrok get clossed. Is there any way to get same link to the local tunnel back ? Because you can't send another malicious app with new link everytime to your target so is there any way ? Please tell me. or give me alternative solutions too.
do you know?
how many words do you know
See also questions close to this topic
-
Analysing malware with VM
Can anyone recommend a VM for testing Malware safely with no risk of main computer/network being affected?
I've heard some people suggest even just using Windows Sandbox.
Anything I should consider disabling /reinforcing/protecting?
Thank you.
-
Who wants to check a suspicious .exe file for malware for me?
From a potential client on Upwork, I have received a .zip folder with "project information". Besides many images, this also includes an .exe file.
I cannot open this as I am on a Mac, however it seems bizzarre for a client to share information in an exe file.
Would anybody be able to check this file for me, maybe in some VM setup or so? Then we could report the user / open for ideas ;)
Also, I just don't want to get scammed/phished haha.
Looking forward to the stackoverflow community support!
Here is the link he shared to the zip containing the exe file. Download at your own risk. https://www.icloud.com/iclouddrive/0ecdkQzUJbyxYw17JkD4bWaSg#Project_development_plan%2C_project_information%2C_______products
-
Am I using Ngrok correctly?
I'm building an ecommerce website using Node.js as the backend and React on the front-end. I'm having trouble with API calls to the payment gateway, PayFast. It's a South African payment gateway, so there isn't a lot of information on it.
I’ve used the PayFast sandbox as far as possible, but since I'm mainly making use of their tokenization system, I had to activate my account to do live PayFast testing. At this point I have not yet gone live with the website and am making use of Ngrok to expose the local server to the Internet. The server is running on port 5000. I’ve included a screenshot of Ngrok running. PayFast does not authorize calls made from localhost to the API, so is that perhaps what I'm doing wrong?
I have succeeded in linking accounts on my database (MySQL) to their system through the use of their tokenization. So on my PayFast account, I can see the accounts linked with the unique tokens. So that was successful.
I’ve followed the documentation as best I could and also made use of the Postman link in their API documentation for further code examples. When I make a post request to the API - to bill a client’s account through the use of their token - I receive a 401 error “merchant authorization failed”.
I’ve included the server code below. If a client pays on the front-end, an axios request (with the amount, item name and client token) is sent to the server. The server function called from the front-end is labelled as “paymentCheckoutRequest”. The paymentCheckoutRequest function uses the payload received, as well as additional data provided, to firstly generate the API signature by calling another function. This function is labelled as “generateAPISignature”. When the paymentCheckoutRequest function receives the hashed signature, the rest of the required data is sent making use of Node’s native https requests.
I’m not an expert by any means and still have a lot to learn about web development. I’m completely stumped as to why I’m receiving the authorization fail. I've tried multiple variations. So I can only think that I might be using Ngrok incorrectly.
Any help would be greatly appreciated!
` Signature generation` const generateAPISignature = (data, passPhrase) => { ` Arrange the array by key alphabetically for API calls ` let ordered_data = {}; Object.keys(data) .sort() .forEach(key => { ordered_data[key] = data[key]; }); data = ordered_data; ` Create the get string ` let getString = ""; for (let key in data) { getString += key + "=" + encodeURI(data[key]).replace(/%20/g, "+") + "&"; } getString = getString.substring(0, getString.length - 1); if (passPhrase !== null) { getString += `&passphrase=${encodeURI(passPhrase.trim()).replace( /%20/g, "+" )}`; } console.log(getString); ` Hash the data and create the signature` return crypto .createHash("md5") .update(getString) .digest("hex"); }; ` @desc Request payment for transaction` ` @route POST /api/payments/transactionPaymentReq` ` @access Private` const paymentCheckoutRequest = asyncHandler(async (req, res) => { const { amount, item_name, token } = req.body; const merchant_id = process.env.MERCHANT_ID; const version = "v1"; var timestamp = new Date(); var dd = timestamp.getDate(); var mm = timestamp.getMonth() + 1; //January is 0! var yyyy = timestamp.getFullYear(); var hours = timestamp.getHours(); var min = timestamp.getMinutes(); var seconds = timestamp.getSeconds(); if (dd < 10) { dd = "0" + dd; } if (mm < 10) { mm = "0" + mm; } if (hours < 10) { hours = "0" + hours; } if (min < 10) { min = "0" + min; } if (seconds < 10) { seconds = "0" + seconds; } timestamp = yyyy + "-" + mm + "-" + dd + "T" + hours + ":" + min + ":" + seconds; const paramsArray = []; paramsArray["token"] = token; paramsArray["merchant-id"] = merchant_id; paramsArray["amount"] = amount; paramsArray["item_name"] = item_name.toLowerCase(); paramsArray["version"] = version; paramsArray["timestamp"] = timestamp; const signature = generateAPISignature( paramsArray, process.env.REGISTRATIONPASSPHRASE ); var options = { method: "POST", hostname: "api.payfast.co.za", path: `/subscriptions/${token}}/adhoc`, headers: { "merchant-id": merchant_id, version: version, timestamp: timestamp, signature: signature }, maxRedirects: 20 }; var req = https.request(options, function(res) { var chunks = []; res.on("data", function(chunk) { chunks.push(chunk); }); res.on("end", function(chunk) { var body = Buffer.concat(chunks); console.log(body.toString()); }); res.on("error", function(error) { console.error(error); }); }); var postData = qs.stringify({ amount: amount, item_name: item_name }); req.write(postData); req.end(); if (req) { res.json(req); } else { res.json("error"); } });
-
Ngrok can't connect to any port
I'm getting the error dial tcp [::1]8080: connect: connection refused when I run ngrok and yes I tried other ports and I get the same thing. I'm not sure why just cause I never had this problem before with ngrok and I used ngrok for years.
I know ngrok isn't listening on any port I put in which is why I am getting this error message. The program just stopped working for whatever reason on anything. I want to fix this and know why after a long time having no issue with the program this happened.
-
Firebase Hosting - How do I get HTTP body payload
Firebase hosting has been excellent, up until now. It is very fast and very cheap. Alas, there is absolutely no access to any server-side activities such as you normally would with PHP. I'm using Opayo 3D Secure to process payments. Part of this involves showing an OPayo webpage inside an iframe to capture bank card details. This then returns another URL from a bank that issues a question to the card's account holder. When complete, the bank sends a POST message to my website with two parameters that I then use to complete the transaction. I can see these parameters in Chrome's Devtools but I have no idea how to access them using Javascript.
Here are the returned values (cres and threeDSSessionData):
It is not possible to use fetch() or XMLHttpRequest() to get the response. The URLs provided must be presented using iframes.
Obviously, Firebase Hosting is passing the HTTP headers and body back to the website, as can be seen from the Devtools, but how do I get hold of them?
-
How do I send the proper payload through HTTP on iOS shortcuts?
I would like to make a POST request to my website: example: www.example.net.
I got this to work easily on Python, using below code:
import requests resp = requests.post('http://example.net', data = {'param1': 'information'})
But when I try to implement this in iOS Shortcuts, using the
Get Content of URL
action, it just times out while waiting for a response.I have a feeling this has to do with the proper placing of payload, such as the three options:
form
,JSON
, orfile
.Does anybody have any advice? Thanks in advance.
-
Decoding payload with JavaScript
i need some support in parsing a payload with javascript. Below you see the json body. I need to return only the valuetype "occupants".
{"id":"8684bc99-5a69-4b7a-92c2-69faa91b668b","type":"airthings-webhook-cloudevent-occupancy-ventilation-sample-feed","source":"https://dashboard.airthings.com/integrations/webhooks/2c823594-3c4b-4352-9929-8486a5f8a985","dataContentType":"application/json","labels":{},"data":[{"measurementSystem":"METRIC","serialNumber":"2930118961","recorded":"2022-05-04T08:55:00","occupants":4.0,"ventilationAmount":171.0,"ventilationState":true,"ratings":{},"sensorUnits":{"occupants":"occ","ventilationAmount":"m3h","relativeVentilationRate":"ach"}}],"time":"2022-05-04T08:58:20.322709","specVersion":"0.2"}
I made it to return the "data" array with the following decoder. Now i need the object "occupants" within data. Can someone tell me what I need to adjust in the following code?
function Decoder(request) { // Parse JSON into Object var payload = JSON.parse(request.body); // Load Data from JSON var data = payload.data; var Occupancy = data.occupants; //var humidity = data.hum; //var battery = data.bat; // Forward Data into Device using Serial return data; }