If you’ve been around you know I enjoy spamming phishing/scamming sites. I recently received this fake Chase email and decided to go down another phishing/scamming attempt.

The email linked to a Google Drive link of a PDF.

The PDF itself links to somewhere else. I clicked on the PDF and after some redirects I ultimately landed on a fake Chase login site. Look at the URL lol.

Next, I opened my browser dev tools, I filled in the form and pressed “Sign In”.
A POST
request goes out to https://secure005.access.chaise.com.secure-accessaccount.com/submit.php
with this payload:
|
|
Then I was shown this page:

And of course on the frontend there’s a message about incorrect credentials. It’s one of the most common tricks these people use.
Attempting to submit new credentials does nothing. I noticed that the “reset your password” link is the only way forward so I clicked that and it took me to this page:

It’s asking for a one-time code. I’m not really sure how they expect people to enter a code that they normally receive after submitting correct credentials. Not only that but they don’t even know the phone number of the user. Either way, I filled in 000000
and hit “Next”.
Another POST
request goes out to the same URL as before: https://secure005.access.chaise.com.secure-accessaccount.com/submit.php
with this JSON:
|
|
(I think it’s obvious now that the stp
parameter that keeps showing up represents the step of the fake password recovery process. And based on the value of step, the logic of submit.php
parses the JSON accordingly.)
Then I landed on this page that asks me for my card information:

I once again filled the form with fake information and hit “Next”. Another POST
request went out to the same URL as before. The main thing that changes here are the headers and the JSON payload.
|
|
(Also, I haven’t been showing the headers because they’re not that interesting, but I am keeping track of them for scripting purposes later.)
Next, I was shown this form. Notice how the first field says “Full Number”. I’m pretty sure they meant “Full Name” lol.

Once again, I filled out and submitted the form.
Once again, a POST
request goes out to the same URL. This time the JSON payload looks like this:
|
|
The fullname
key in the JSON payload confirms that they meant to write “Full Name” in the field as opposed to “Full Number” lol.
After submitting the previous form I was shown yet another one, this time asking for email address and email password. They are really thorough. They also asked for my email in the previous step so that was a bit redundant.

I typed in some fake credentials and submitted the form. A POST
request goes out to the same URL as before with the following JSON payload:
|
|
Then I was redirected to the offical Chase site:

Spamming Fake Information with Python
If you’ve read my previous articles about scams and phishing, you know what’s next. It’s time to write up a Python script to spam these people with fake information and hopefully make their lives harder.
These guys were thorough so I’ll need to dynamically create 5 different payloads and send them to the url. Thankfully it’s the same endpoint for all of these payloads.
I want to dynamically generate headers and payloads that seem as realstic as possible. These scammers were thorough so I want to be thorough in making their lives more difficult (also I’m unemployed right now so I have a lot of free time. Someone please hire me 🥺)
This is the Python script I came up with:
|
|
It’s quite lengthy but it works. I ran the script in the background and went about my day.

More Retaliation Against Scammers
If you enjoyed this, I’ve done a few other posts similar to this one:
- Hitting Back at Ledger Scammers With Python
- Using Python to Flood Scammers with Fake Passwords
- Retaliating Against MetaMask Scammers With Python
Elsewhere
Also posted on: dev.to