Можете ли вы обнаружить и предотвратить запрос проверки подлинности браузера с помощью некоторого JavaScript?
Я создаю небольшой фрагмент JavaScript, чтобы продемонстрировать сканирование портов для семинара по этическому взлому.Я генерирую графические теги в JavaScript для проверки открытого / закрытого состояния портов.При попытке подключиться к FTP-серверу, который требует аутентификации, браузер запрашивает кредиты:
![enter image description here](https://i.stack.imgur.com/Mbx1Q.png)
Это приглашение блокирует выполнение JavaScript (фактическив значительной степени блокирует все действия браузера - вы не можете переключать вкладки).Есть ли способ определить, когда должно произойти приглашение к аутентификации, и каким-то образом его избежать?
Код сканирования порта приведен ниже (адаптировано из * * * * * * * * * * * * * *) port_scanner
.)
function check_port(host, port) {
return new Promise(function (resolve, reject) {
const start = (new Date).getTime()
let img_scan = new Image()
img_scan.src = 'ftp://' + host + ":" + port
img_scan.onerror = function () {
var delta = (new Date).getTime() - start;
if (delta < closetimeout) {
clearInterval(interval)
resolve(false)
}
}
img_scan.onload = img_scan.onerror
interval = setInterval(function () {
var delta = (new Date).getTime() - start
if (delta >= opentimeout) {
if (!img_scan) return
img_scan = undefined
clearInterval(interval)
resolve(true)
}
}, 1)
})
}
async function main() {
let state = await check_port('192.168.1.1', 21)
console.log(state)
}
main()