Git Product home page Git Product logo

abbot's People

Contributors

birdaw avatar chrisbremseth avatar erikedlund avatar jacobmovingfwd avatar ramblingjordan avatar seandablack avatar steph-query avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

abbot's Issues

Moving beyond this one form

With the potential of the site being rehosted/changed and other similar sites popping up, should we start focusing on ways to make this project more extensible?

Better "data" generation?

List of a few hundred actual OBGYN first names from the Texas Medical Association (alphabetical order, duplicates removed)
fns.csv

List of a few hundred actual OBGYN last names from the Texas Medical Association (alphabetical order, duplicates removed)
lns.csv

List of all non PO Box zip codes, city names, and counties in Texas
TX_Zips.csv

Python script for generating "doctor names"

with open('fns.csv') as fns:
	reader2 = csv.reader(fns)
	chosen_first=random.choice(list(fns))

with open('lns.csv') as lns:
	reader3=csv.reader(lns)
	chosen_last=random.choice(list(lns))

nameFormat = ['FL','DL','L,F','L', 'DLF']
nF = random.choice(nameFormat)

if nF == 'FL':
	dr = " ".join([chosen_first,chosen_last])
elif nF == 'DL':
	dr = " ".join(["Dr.",chosen_last])
elif nF == 'L,F':
	dr = ", ".join([chosen_last,chosen_first])
elif nF == 'L':
	dr = chosen_last
elif nf == 'DLF':
	dr = " ".join(["Dr.",chosen_first,chosen_last])

Python script for picking geographic location

with open('TX_Zips.csv') as zf:
	reader = csv.reader(zf)
	chosen_row=random.choice(list(reader))

stateNames = ['TX','Texas','TEXAS','texas','tx','Tx']
st = random.choice(stateNames)

Bypass the front-end?

Leaving for someone smarter than me, I'm not available right now.

Can't we bypass the front end and just make post calls directly to the form? Pretty sure it can be done a lot faster this way.

something like this (some quick copy/pastes):

import requests

url = 'https://prolifewhistleblower.com/wp-admin/admin-ajax.php'
myobj = {'somekey': 'somevalue'}

x = requests.post(url, data = myobj)

print(x.text)
POST / HTTPS/2.0
Host: https://prolifewhistleblower.com/wp-admin/admin-ajax.php
Content-Type: application/x-www-form-urlencoded
Content-Length: 13
Accept: */*
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryBfSESmlOiCYwo4Oq
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.159 Safari/537.36

------WebKitFormBoundaryBfSESmlOiCYwo4Oq
Content-Disposition: form-data; name="textarea-1"

test
------WebKitFormBoundaryBfSESmlOiCYwo4Oq
Content-Disposition: form-data; name="text-1"

test
------WebKitFormBoundaryBfSESmlOiCYwo4Oq
Content-Disposition: form-data; name="text-6"

test
------WebKitFormBoundaryBfSESmlOiCYwo4Oq
Content-Disposition: form-data; name="text-2"

test
------WebKitFormBoundaryBfSESmlOiCYwo4Oq
Content-Disposition: form-data; name="text-3"

test
------WebKitFormBoundaryBfSESmlOiCYwo4Oq
Content-Disposition: form-data; name="text-4"

test
------WebKitFormBoundaryBfSESmlOiCYwo4Oq
Content-Disposition: form-data; name="text-5"

test
------WebKitFormBoundaryBfSESmlOiCYwo4Oq
Content-Disposition: form-data; name="checkbox-1[]"

no
------WebKitFormBoundaryBfSESmlOiCYwo4Oq
Content-Disposition: form-data; name="g-recaptcha-response"

03AGdBq25mBrjaNVz36yhqcO9OcG4Bz8eudySKVmEsF1kb_EEwwsL-3eYGIFTiVwOWtb5lNkeVDVh9h06amhoKfuQE_yxGlBNoyJMQ1suCroTCh9pIEDDOExyxxiv9mYst7F9wshD1LjAEfYyCFT9GtQfAbf-TVREQo7A_XsDIyAONrG73DC7ge4xS4Lz1hKeLe5oEvkdAi3f8CvH7FoQ9R7-zuxbojqbqMDUVjf2l19J6UxD-t3mgCm58VhLk7mllEC5rgvXD_R7aoHxxrMIWtZfLYfPKmvS25iFJk5ENc8ZfxP8f7sNqY4xjcOgTrSVb70Up5j6uUzlLiCB8tJ9U5SVpioUmMhdfxIV1SNKV7YYZun18GjqX0foLYPTZecIoDGo1LkIH2A2Jz6dgbVlQWGBxryRGGXia3QCXDVNt74daFayMem2X6eElYhB7k_OhcuNEdWG-s5fiNwhnTA0nCSp_E2OMde30Qg
------WebKitFormBoundaryBfSESmlOiCYwo4Oq
Content-Disposition: form-data; name="hidden-1"

~~~ip~~~
------WebKitFormBoundaryBfSESmlOiCYwo4Oq
Content-Disposition: form-data; name="referer_url"

https://prolifewhistleblower.com/anonymous-form/
------WebKitFormBoundaryBfSESmlOiCYwo4Oq
Content-Disposition: form-data; name="forminator_nonce"

9fe66bf390
------WebKitFormBoundaryBfSESmlOiCYwo4Oq
Content-Disposition: form-data; name="_wp_http_referer"

/anonymous-form/
------WebKitFormBoundaryBfSESmlOiCYwo4Oq
Content-Disposition: form-data; name="form_id"

26
------WebKitFormBoundaryBfSESmlOiCYwo4Oq
Content-Disposition: form-data; name="page_id"

27
------WebKitFormBoundaryBfSESmlOiCYwo4Oq
Content-Disposition: form-data; name="form_type"

default
------WebKitFormBoundaryBfSESmlOiCYwo4Oq
Content-Disposition: form-data; name="current_url"

https://prolifewhistleblower.com/
------WebKitFormBoundaryBfSESmlOiCYwo4Oq
Content-Disposition: form-data; name="render_id"

0
------WebKitFormBoundaryBfSESmlOiCYwo4Oq
Content-Disposition: form-data; name="action"

forminator_submit_form_custom-forms
------WebKitFormBoundaryBfSESmlOiCYwo4Oq
Content-Disposition: form-data; name="input_11"


------WebKitFormBoundaryBfSESmlOiCYwo4Oq--

Better logging

Currently, the logging I wrote is lackluster. It would be better for the users of the script if we logged specifically what was happening in human-readable terms and then if we increase the verbosity, we can log the more technical stuff. That and timestamps might be helpful.

I'm probably gonna try using the built-in logging library to avoid adding another dependency.

Dynamic tip text

It would be nice to dynamically generate the body of the tip to make it harder to filter them out automatically. Tools like this GPT-2-based text generator could be useful. This one requires an API key (free to use but requires an account), but it does generate plausible text from a prompt, e.g.

>>> import requests
>>> r = requests.post(
...     "https://api.deepai.org/api/text-generator",
...     data={
...         'text': 'My neighbor got an illegal abortion.',
...     },
...     headers={'api-key': $MY_KEY'}
... )
>>> print(r.json())
{u'output': u'My neighbor got an illegal abortion. We think the sheriff might have given his daughter the abortion," he says. "You know, she said, \'OK, I\'ll do this for her.\' It did not work \u2014 \'cause I went to her and she went into rehab. I have a family. I\'ve been working for her all this time. But you know, I said to the sheriff when I got this, I said no. I said no I\'m not going to do an abortion. . . ." The idea of taking someone\'s life and burying those children beneath the earth with nothing to do with your choice is a common enough myth that even the most ardent opponent of abortion believes that there is actually some medical and religious reason to do so. The issue of abortion, as far as anyone is concerned, only has one major effect: It undermines an already weak federal government\'s role in regulating the practice of abortion. But what about the other, less prominent, effect of the law? The only problem in the rest of this story: It is, of course, a myth. In fact, the only legal solution is state law and order. As far as the law goes, that means the government can keep its hand off what remains of the fetus. Under the law though, women of any race can be raped and killed without any form of constitutional repercussion. As a matter of fact, a legal abortion is virtually "illegal" under Texas\' 1973 s. 3-2', u'id': u'd3d28729-1e09-40f4-adfe-d9d039a3b537'}

Python issues

I haven't set up my development environment on this Mac, so I was starting from scratch. First it has python 3 installed, so I have to use pip3. Then I don't have access to the python system library directories, so I have to specify the --user argument to pip3. Then the binary directory isn't on the PATH and the library directory isn't on the PYTHON path, so I fixed those up. But now I'm stumped with this - I'm not a python developer:

python req.py 
Traceback (most recent call last):
  File "req.py", line 2, in <module>
    import requests
  File "/Users/Nemesis/Library/Python/3.8/lib/python/site-packages/requests/__init__.py", line 48, in <module>
    from charset_normalizer import __version__ as charset_normalizer_version
  File "/Users/Nemesis/Library/Python/3.8/lib/python/site-packages/charset_normalizer/__init__.py", line 11
SyntaxError: Non-ASCII character '\xd1' in file /Users/Nemesis/Library/Python/3.8/lib/python/site-packages/charset_normalizer/__init__.py on line 12, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details

Certificate Error

Running as Admin and connecting through http - receiving the following error after submitting Captcha. Most likely due to website switching to HTTPS?

Starting the web server at http://prolifewhistleblower.com:8000/
13:22:48 urllib3.connection - [WARNING] Certificate did not match expected hostname: prolifewhistleblower.com. Certificate: {'subject': ((('commonName', 'h4ha.org'),),), 'issuer': ((('countryName', 'US'),), (('organizationName', "Let's Encrypt"),), (('commonName', 'R3'),)), 'version': 3, 'serialNumber': '03AEEE34C7BC86C5D2C41E5DA0A682B5A4A5', 'notBefore': 'Aug 19 05:19:56 2021 GMT', 'notAfter': 'Nov 17 05:19:54 2021 GMT', 'subjectAltName': (('DNS', '321golfcarts.com'), ('DNS', 'allzeit.com'), ('DNS', 'animalzbrand.com'), ('DNS', 'asbestossymptom.com'), ('DNS', 'bettercallliana.com'), ('DNS', 'dpparfum.com'), ('DNS', 'emailspro.com'), ('DNS', 'foresttok.org'), ('DNS', 'h4ha.org'), ('DNS', 'hempmain.com'), ('DNS', 'indochinesefood.com'), ('DNS', 'lawyerbyzipcode.com'), ('DNS', 'merchinttoken.org.austincountyhomes.com'), ('DNS', 'pranamatters.com'), ('DNS', 'sounn.com'), ('DNS', 'treasontees.com'), ('DNS', 'tvetv.com'), ('DNS', 'vitajuwelbottles.com'), ('DNS', 'whyarbitrage.com')), 'OCSP': ('http://r3.o.lencr.org',), 'caIssuers': ('http://r3.i.lencr.org/',)}
Form failed to submit.
13:22:48 bot.logger - [INFO] 0 successes, 1 failure

Dependencies and setup

Having an issue getting this to run. Any chance you could edit the README.md with instructions and dependencies? I'm curious enough to want to play with it.

Telltale Signs of Output from GPT2 (Double Quotes in Particular)

I want to note that GPT2 output, while decent, usually has a ton of telltale signs:

  1. The frequent use of double quotes, as if it's quoting from an interview. Almost every paragraph uses double quotes at least once, especially at the end of the first paragraph.
  2. Long quotations inside a sentence. Removing these requires more advanced filtering, but something along the lines of removing any sentence with a quote and the word "said."
  3. The use of advertisement text. Because of how GPT-2 was trained, it sometimes has words like "Advertisement" on its own line.
  4. Any use of colons for things like quotations in interviews.
  5. Characters that are not found on a standard keyboard.
  6. Stuff like "All photos © Michael C. Stough" on its own line.
  7. While you remove the stuff that comes after the final period, you don't remove any trailing newlines afterwards.

We should try to remove as many of these signs as possible from the output of GPT2. Some of these are easier to remove than others, but the ones that are difficult for us to remove are also difficult for them to filter out. For example, they could remove most of GPT2's submissions by removing any submission with double quotes.

It might also be a good idea to leave these signs in the output every so often so that they implement filters that could remove false negatives. For example, if they implement a filter for quotation marks, they could remove some real submissions that have quotation marks.

Invalid Nonce

Hello, firstly thank you for this project. I'm getting the following error in the debug logs:

15:22:14 bot.logger - [DEBUG] Initiating GET request to /wp-admin/admin-ajax.php for the nonce.
15:22:14 urllib3.connectionpool - [DEBUG] Starting new HTTPS connection (1): prolifewhistleblower.com:443
15:22:23 urllib3.connectionpool - [DEBUG] https://prolifewhistleblower.com:443 "POST /wp-admin/admin-ajax.php HTTP/1.1" 200 None
15:22:23 bot.logger - [DEBUG] Found nonce: 4d5c0e9b08
15:22:23 bot.logger - [DEBUG] Redirecting prolifewhistleblower.com to 127.0.0.1
15:22:23 bot.logger - [DEBUG] Ending redirection of prolifewhistleblower.com
15:22:23 bot.logger - [DEBUG] Initiating POST request to /wp-admin/admin-ajax.php to submit the form data.
15:22:23 urllib3.connectionpool - [DEBUG] Resetting dropped connection: prolifewhistleblower.com
15:22:31 urllib3.connectionpool - [DEBUG] https://prolifewhistleblower.com:443 "POST /wp-admin/admin-ajax.php HTTP/1.1" 200 None
15:22:31 bot.logger - [DEBUG] RESPONSE:
15:22:31 bot.logger - [DEBUG] 200
15:22:31 bot.logger - [DEBUG] {'Server': 'nginx', 'Date': 'Sat, 04 Sep 2021 22:22:30 GMT', 'Content-Type': 'application/json; charset=UTF-8', 'Connection': 'close', 'Vary': 'Accept-Encoding', 'Access-Control-Allow-Origin': 'https://prolifewhistleblower.com', 'Access-Control-Allow-Credentials': 'true', 'X-Robots-Tag': 'noindex', 'X-Content-Type-Options': 'nosniff', 'Expires': 'Wed, 11 Jan 1984 05:00:00 GMT', 'Cache-Control': 'no-cache, must-revalidate, max-age=0', 'X-Frame-Options': 'SAMEORIGIN', 'Referrer-Policy': 'strict-origin-when-cross-origin', 'Content-Encoding': 'gzip'}
15:22:31 bot.logger - [DEBUG] {"success":false,"data":"Invalid nonce. Please refresh your browser."}
15:22:31 bot.logger - [DEBUG] Redirecting prolifewhistleblower.com to 127.0.0.1
Form failed to submit.

I have tried refreshing my browser. Any help is appreciated!

Site is likely using form-based IP logging

The website appears to be using a hidden input field that stores your IP address and sends that as part of your form data to the server (despite their claim of anonymity). If there's no other form of IP logging on the system, it would be pretty simple to either empty this out or replace it with random IP addresses.

<div class="forminator-row forminator-hidden">
  <input type="hidden" id="hidden-1" name="hidden-1" value="xxx.xxx.xxx.xxx"> <!-- Redacted my IP -->
</div>

I've put the full XPath below but you could also easily identify this input as #hidden-1 since it is the only element with that ID and it uses that ID every time.

/html/body/div[1]/div/div/div/article/div/div/div/div/div/div/div[2]/div/form/div[11]/input

x86_64 Binary for Linux?

I keep getting an error:

OSError: [Errno 8] Exec format error: './chromedriver'

when I attempt to run this script. I did some searching as I also got an error when I did

./chromdriver

from my shell and got a shell equivalent error and it seems this might be caused by the binary not being for x86_64 systems, is this binary only for ARM? If so can you generate an X86_64 binary or provide the steps to do so?

Thank you for your awesome work!

ModuleNotFoundError: No module named 'requests_toolbelt'

when I run sudo python3 server.py
I get the following traceback

Traceback (most recent call last):
  File "server.py", line 4, in <module>
    import forms
  File "/home/red/AbBOT/forms.py", line 2, in <module>
    from requests_toolbelt import MultipartEncoder
ModuleNotFoundError: No module named 'requests_toolbelt'

I'm running this in a venv. on Linux Mint

i got the same error even when running it without a venv

I have done pip3 install -r requirements.txt
that outputs

Requirement already satisfied: certifi==2021.5.30 in ./my_venv/lib/python3.8/site-packages (from -r requirements.txt (line 1)) (2021.5.30)
Requirement already satisfied: charset-normalizer==2.0.4 in ./my_venv/lib/python3.8/site-packages (from -r requirements.txt (line 2)) (2.0.4)
Requirement already satisfied: dnspython==2.1.0 in ./my_venv/lib/python3.8/site-packages (from -r requirements.txt (line 3)) (2.1.0)
Requirement already satisfied: idna==3.2 in ./my_venv/lib/python3.8/site-packages (from -r requirements.txt (line 4)) (3.2)
Requirement already satisfied: requests==2.26.0 in ./my_venv/lib/python3.8/site-packages (from -r requirements.txt (line 5)) (2.26.0)
Requirement already satisfied: requests-toolbelt==0.9.1 in ./my_venv/lib/python3.8/site-packages (from -r requirements.txt (line 6)) (0.9.1)
Requirement already satisfied: urllib3==1.26.6 in ./my_venv/lib/python3.8/site-packages (from -r requirements.txt (line 7)) (1.26.6)

I tried

pip3 install requests-toolbelt
and that outputted

Requirement already satisfied: requests-toolbelt in ./my_venv/lib/python3.8/site-packages (0.9.1)
Requirement already satisfied: requests<3.0.0,>=2.0.1 in ./my_venv/lib/python3.8/site-packages (from requests-toolbelt) (2.26.0)
Requirement already satisfied: idna<4,>=2.5; python_version >= "3" in ./my_venv/lib/python3.8/site-packages (from requests<3.0.0,>=2.0.1->requests-toolbelt) (3.2)
Requirement already satisfied: urllib3<1.27,>=1.21.1 in ./my_venv/lib/python3.8/site-packages (from requests<3.0.0,>=2.0.1->requests-toolbelt) (1.26.6)
Requirement already satisfied: certifi>=2017.4.17 in ./my_venv/lib/python3.8/site-packages (from requests<3.0.0,>=2.0.1->requests-toolbelt) (2021.5.30)
Requirement already satisfied: charset-normalizer~=2.0.0; python_version >= "3" in ./my_venv/lib/python3.8/site-packages (from requests<3.0.0,>=2.0.1->requests-toolbelt) (2.0.4)

is this an issue with my system? Or somthing else?

FAQ

Working on adding a FAQ.md file that goes over technical issues and tells you what might be wrong and how to fix it.

KeyError: 'DEEP_AI_KEY'

Getting this error after submitting my captcha.
Here is my stack trace with verbose on:

AbBot git:(main) sudo python ./server.py -v
Starting the web server at http://prolifewhistleblower.com:8000/
Received POST data.
127.0.0.1 - - [03/Sep/2021 16:07:23] "POST / HTTP/1.1" 200 -
Got reCaptcha token!
----------------------------------------
Exception happened during processing of request from ('127.0.0.1', 51135)
Traceback (most recent call last):
  File "/Users/mleite/opt/anaconda3/lib/python3.7/socketserver.py", line 316, in _handle_request_noblock
    self.process_request(request, client_address)
  File "/Users/mleite/opt/anaconda3/lib/python3.7/socketserver.py", line 347, in process_request
    self.finish_request(request, client_address)
  File "/Users/mleite/opt/anaconda3/lib/python3.7/socketserver.py", line 360, in finish_request
    self.RequestHandlerClass(request, client_address, self)
  File "/Users/mleite/opt/anaconda3/lib/python3.7/socketserver.py", line 720, in __init__
    self.handle()
  File "/Users/mleite/opt/anaconda3/lib/python3.7/http/server.py", line 426, in handle
    self.handle_one_request()
  File "/Users/mleite/opt/anaconda3/lib/python3.7/http/server.py", line 414, in handle_one_request
    method()
  File "./server.py", line 40, in do_POST
    forms.anonymous_form(token)
  File "/Users/mleite/AbBOT/forms.py", line 88, in anonymous_form
    generated_data = next(anonymous_form_data)
  File "/Users/mleite/AbBOT/data.py", line 222, in anonymous_form
    'textarea-1': get_tip_body(),
  File "/Users/mleite/AbBOT/data.py", line 242, in get_tip_body
    if os.environ[TEXT_GEN_API_VAR]:
  File "/Users/mleite/opt/anaconda3/lib/python3.7/os.py", line 678, in __getitem__
    raise KeyError(key) from None
KeyError: 'DEEP_AI_KEY'
----------------------------------------
Serving captcha.html
127.0.0.1 - - [03/Sep/2021 16:07:24] "GET /favicon.ico HTTP/1.1" 200 -
Received POST data.
127.0.0.1 - - [03/Sep/2021 16:08:03] "POST / HTTP/1.1" 200 -
Got reCaptcha token!
----------------------------------------
Exception happened during processing of request from ('127.0.0.1', 51354)
Traceback (most recent call last):
  File "/Users/mleite/opt/anaconda3/lib/python3.7/socketserver.py", line 316, in _handle_request_noblock
    self.process_request(request, client_address)
  File "/Users/mleite/opt/anaconda3/lib/python3.7/socketserver.py", line 347, in process_request
    self.finish_request(request, client_address)
  File "/Users/mleite/opt/anaconda3/lib/python3.7/socketserver.py", line 360, in finish_request
    self.RequestHandlerClass(request, client_address, self)
  File "/Users/mleite/opt/anaconda3/lib/python3.7/socketserver.py", line 720, in __init__
    self.handle()
  File "/Users/mleite/opt/anaconda3/lib/python3.7/http/server.py", line 426, in handle
    self.handle_one_request()
  File "/Users/mleite/opt/anaconda3/lib/python3.7/http/server.py", line 414, in handle_one_request
    method()
  File "./server.py", line 40, in do_POST
    forms.anonymous_form(token)
  File "/Users/mleite/AbBOT/forms.py", line 88, in anonymous_form
    generated_data = next(anonymous_form_data)
StopIteration
----------------------------------------
Serving captcha.html
127.0.0.1 - - [03/Sep/2021 16:08:03] "GET /favicon.ico HTTP/1.1" 200 -

GoDaddy/Sucuri appears to be blocking the submission form for (some?) IP addresses

Edit: This isn't just about the script. https://prolifewhistleblower.com/anonymous-form is blocked for me from a normal browser. Not sure how widespread this is, or if it's because of the website being about to be dropped from GoDaddy.

--

I first thought this was just because I was behind a VPN, but I tested both with and without the VPN, and I'm getting the same failure either way. When I have the VPN on, the response has its IP address; when I have the VPN off, the response has my actual IP address. Unless it used some other fingerprint on me when it saw my initial request was from a VPN, and identified me even from a different IP?

Anyway here is what I got after successfully completing the CAPTCHA. Happened in both Chromium and Firefox, on Linux.

17:44:17 bot.logger - [DEBUG] Did not find nonce.
17:44:17 bot.logger - [DEBUG] 403
17:44:17 bot.logger - [DEBUG] {'Server': 'Sucuri/Cloudproxy', 'Date': 'Sat, 04 Sep 2021 00:44:17 GMT', 'Content-Type': 'text/html', 'Transfer-Encoding': 'chunked', 'Connection': 'keep-alive', 'X-Sucuri-ID': '11004', 'X-XSS-Protection': '1; mode=block', 'X-Frame-Options': 'SAMEORIGIN', 'X-Content-Type-Options': 'nosniff', 'Content-Security-Policy': 'upgrade-insecure-requests;', 'X-Sucuri-Block': 'PAR010'}

And the HTML, which is easy enough to just read (IP address removed):

<!DOCTYPE html>
<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
<link rel="stylesheet" href="https://cdn.sucuri.net/css/whitelabel/typography.css?611e1e2" />
<link rel="stylesheet" href="https://cdn.sucuri.net/css/whitelabel.css?611e1e2" />
<link rel="stylesheet" href="https://cdn.sucuri.net/css/whitelabel/buttons.css?611e1e2" />
<link rel="stylesheet" href="https://cdn.sucuri.net/css/whitelabel/footer.css?611e1e2" />
<link rel="stylesheet" href="https://cdn.sucuri.net/css/whitelabel/header.css?611e1e2" />
<link rel="stylesheet" href="https://cdn.sucuri.net/css/fonts.css" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>GoDaddy Security - Access Denied</title>
</head>
<body>
<header class="app-header clearfix">
<div class="wrap"><a href="https://www.godaddy.com/" class="logo"></a>
<span class="logo-neartext">Security</span>
</div>
</header>
<section class="center clearfix"></section>

<section class="app-content access-denied clearfix"><div class="box center width-max-940"><h1 class="brand-font font-size-xtra no-margin"><i class="icon-circle-red"></i>Access Denied - GoDaddy Website Firewall</h1>
<p class="medium-text code-snippet">If you are the site owner (or you manage this site), please whitelist your IP or if you think this block is an error please <a href="https://supportx.sucuri.net/" class="color-green underline">open a support ticket</a> and make sure to include the block details (displayed in the box below), so we can assist you in troubleshooting the issue. </p><h2>Block details:</h1>
<table class="property-table overflow-break-all line-height-16">
<tr>
<td>Your IP:</td>
<td><span>XXX.XXX.XXX.XXX</span></td>
</tr>
<tr><td>URL:</td>
<td><span>prolifewhistleblower.com/wp-admin/admin-ajax.php</span></td>
</tr>
<tr>
<td>Your Browser: </td>
<td><span>Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.58 Safari/537.36</span></td>
</tr>
<tr><td>Block ID:</td>
<td><span>PAR010</span></td>
</tr>
<tr>
<td>Block reason:</td>
<td><span>Your request was not allowed (site lock down mode).</span></td>
</tr>
<tr>
<td>Time:</td>
<td><span>2021-09-03 20:44:17</span></td>
</tr>
<tr>
<td>Server ID:</td>
<td><span>11004</span></td></tr>
</table>
</div>
</section>

<footer class="app-footer clearfix"><span>Copyright &copy; 1999 &ndash; 2019 GoDaddy Operating Company, LLC. All rights reserved.</span>
<span class="padding-left-25"><a href="https://www.godaddy.com/Agreements/Privacy.aspx" class="underline" target="_blank" rel="nofollow noopener">Privacy Policy</a></span>
</footer>
</div>
</body>
</html>

Feel free to update the title of this report if what I'm assuming is inaccurate, or close it if somehow it's just me.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.