由于各种原因,Web 应用程序经常面临可疑活动,例如使用自动漏洞扫描程序扫描网站的孩子或试图模糊 SQL 注入参数的人等。在许多此类情况下,登录必须分析网络服务器以找出发生了什么。如果情况严重,可能需要法医调查。
除此之外,还有其他场景。
对于管理员来说,了解如何从安全角度分析日志非常重要。
刚开始进行黑客/渗透测试的人必须了解为什么他们不应该在未经事先许可的情况下测试/扫描网站。
本文涵盖了日志分析的基本概念,为上述场景提供解决方案。
设置
出于演示目的,我有以下设置。
阿帕奇服务器
– 预装在 Kali Linux 中
这可以使用以下命令启动:
service apache2 start

讯享网
MySQL
– 预装在 Kali Linux 中
这可以使用以下命令启动:
service mysql start

使用 PHP-MySQL 构建的易受攻击的 Web 应用程序
我使用 PHP 开发了一个易受攻击的 Web 应用程序,并将其托管在上述 Apache-MySQL 中。
通过上述设置,我使用 Kali Linux 中可用的一些自动化工具(ZAP、w3af)扫描了这个易受攻击的应用程序的 URL。现在让我们看看分析日志的各种案例。

登录 Apache 服务器
出于各种明显的原因,始终建议在 Web 服务器上维护日志。
Debian 系统上 Apache 服务器日志的默认位置是
/var/log/apache2/access.log
日志记录只是将日志存储在服务器中的过程。我们还需要分析日志以获得正确的结果。在下一节中,我们将了解如何分析 Apache 服务器的访问日志,以确定网站上是否有任何攻击企图。
分析日志
人工检查
如果日志的大小较小,或者我们正在寻找特定的关键字,那么我们可以花一些时间使用诸如 grep 表达式之类的东西手动观察日志。
在下图中,我们尝试搜索 URL 中包含关键字“union”的所有请求。

从上图中,我们可以看到 URL 中的查询“ union select 1,2,3,4,5 ”。很明显,IP 地址为 192.168.56.105 的人尝试了 SQL 注入。
同样,当我们有关键字时,我们可以搜索特定的请求。
在下图中,我们正在搜索尝试读取“/etc/passwd”的请求,这显然是本地文件包含尝试。

如上面的屏幕截图所示,我们有许多请求尝试 LFI,这些请求是从 IP 地址 127.0.0.1 发送的。这些请求是从自动化工具生成的。
在许多情况下,很容易识别日志是否是从自动扫描仪发送的。自动扫描仪很嘈杂,并且在测试应用程序时使用供应商特定的有效负载。
例如,IBM appscan 在许多有效负载中使用“appscan”一词。因此,查看日志中的此类请求,我们可以确定发生了什么。
Microsoft Excel 也是打开日志文件和分析日志的好工具。我们可以通过指定“空格”作为分隔符,使用 Excel 打开日志文件。当我们没有日志解析工具时,这很方便。
除了这些关键字之外,在分析过程中掌握 HTTP 状态代码的基本知识也非常重要。
下表显示了有关 HTTP 状态代码的高级信息。
| 1xx | 信息 |
| 2xx | 成功的 |
| 3xx | 重定向 |
| 4xx | 客户端错误 |
| 5xx | 服务器错误 |

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/72744.html