php - nodejs - 阻止 php 脚本利用尝试

标签 php node.js exploit

我有很多对 php 漏洞利用文件的请求,我想“处理”它们。

GET //phpMyAdmin/scripts/setup.php 200 42.452 ms - 3703
GET //phpmyadmin/scripts/setup.php 200 43.431 ms - 3703
GET //pma/scripts/setup.php 200 47.159 ms - 3703
GET //myadmin/scripts/setup.php 200 44.524 ms - 3703
GET //MyAdmin/scripts/setup.php 200 63.237 ms - 3703
GET //scripts/setup.php 200 75.063 ms - 3703
GET //admin/scripts/setup.php 200 43.158 ms - 3703
GET //db/scripts/setup.php 200 55.091 ms - 3703
GET //myadmin/scripts/setup.php 200 39.229 ms - 3703
GET //mysql/scripts/setup.php 200 38.401 ms - 3703
GET //mysqladmin/scripts/setup.php 200 41.768 ms - 3703
GET //phpadmin/scripts/setup.php 200 46.766 ms - 3703
GET //pma/scripts/setup.php 200 40.464 ms - 3703
GET //web/scripts/setup.php 200 42.858 ms - 3703
GET //blog/phpmyadmin/scripts/setup.php 200 45.144 ms - 3703

所以我想在此类请求时关闭连接,以便请求者认为服务器不存在并且不会重试:

  app.use(function(req, res, next){
    if(req.originalUrl.indexOf('.php') !== -1) res.set("Connection", "close");
    else next();  
  })

这是处理这个问题的最佳方式吗?

最佳答案

最好返回 404。机器人更有可能不会继续尝试。

app.use(function(req, res, next){
    if(req.originalUrl.indexOf('.php') !== -1) {
        res.status(404).send('Not found');
    }
    else {
        next();
    }
})

如果您看到相同的 IP 地址一遍又一遍地访问您,并且假设您使用的是 Linux 计算机,您可能会考虑手动将 IP 添加到/etc/hosts.deny 中,这将在它们到达您的计算机之前阻止它们 Node 服务器。

关于php - nodejs - 阻止 php 脚本利用尝试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30701016/

相关文章:

php - POST 请求与 NSDictionary

node.js - Node.js使用OpenSSL数字签名和验证日志文件

java - CVE-2018-14667;为 RichFaces 3.X 生成有效负载

php - Laravel Homestead Swift 无法在没有发件人地址的情况下发送消息

php - 使用bindValue进行PDO调试更新查询

javascript - 如何使用修改后的规则在 Atom 中自动启动 ESLint?

javascript - Node.js 中的奇怪类型错误

ruby - "payload"中的 "payload.encoded"在 metasploit 的利用中来自哪里?

c - 这段 C 代码有什么漏洞?

php - 根据内核请求重定向