您可以使用某些JavaScript检测并阻止浏览器身份验证提示吗?
我正在构建一个JavaScript代码片段来演示道德黑客研讨会的端口扫描。我在JavaScript中生成图像标签以检查端口的打开/关闭状态。尝试连接到需要身份验证的FTP服务器时,浏览器会提示输入cred:
此提示阻止JavaScript的执行(实际上几乎阻止了所有浏览器活动 - 您无法切换选项卡)。有没有办法检测何时会发生身份验证提示并以某种方式避免它?
端口扫描代码如下(改编自BeEF project的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()
模块)
Consumer