比以往任何时候都有更多的人可以上网。这促使许多组织开发基于web的应用程序,用户可以使用这些应用程序在线与组织进行交互。为web应用程序编写的糟糕代码可能被利用来获得对敏感数据和web服务器的未授权访问。
在本教程中,你将学习如何入侵网站,我们将向你介绍web应用程序黑客技术和防范此类攻击的对策.
本教程涵盖的主题
什么是web应用程序?
什么是网络威胁?
如何保护你的网站免受黑客攻击?
网站黑客招数:在线黑一个网站!
什么是web应用程序?什么是网络威胁?
web应用程序(又名网站)是基于客户机-服务器模型的应用程序。服务器提供数据库访问和业务逻辑。它托管在一个web服务器上。客户端应用程序在客户端web浏览器上运行。Web应用程序通常用Java、C#、VB.Net、PHP、ColdFusion标记语言等语言编写。web应用程序中使用的数据库引擎包括MySQL、MS结构化查询语言 Server、PostgreSQL、SQLite等。
大多数web应用程序都托管在可通过互联网访问的公共服务器上。由于易于访问,这使得它们容易受到攻击。以下是常见的web应用程序威胁。
SQL注入–这种威胁的目标可能是绕过登录算法、破坏数据等。
拒绝服务攻击–这种威胁的目标可能是拒绝合法用户访问资源
跨站点脚本XSS–这种威胁的目标可能是注入可在客户端浏览器上执行的代码。
cookie/会话中毒–这种威胁的目标是由攻击者修改cookies会话数据,以获得未经授权的访问。
表单篡改–这种威胁的目标是修改电子商务应用程序中的价格等表单数据,以便攻击者能够以较低的价格获得商品。
代码注入–这种威胁的目标是注入PHP、Python等代码。可以在服务器上执行。该代码可以安装后门,泄露敏感信息等。
磨损–这种威胁的目标是修改网站上显示的页面,并将所有页面请求重定向到包含攻击者消息的单个页面。
如何保护你的网站免受黑客攻击?
组织可以采用以下策略来保护自己免受web服务器攻击。
SQL注入–在将用户参数提交给数据库进行处理之前,对其进行净化和验证有助于降低受到以下攻击的可能性SQL注入。MS SQL Server、MySQL等数据库引擎。支持参数和准备好的报表。它们比传统的SQL语句安全得多
拒绝服务攻击–如果攻击是简单的拒绝服务,防火墙可以用来丢弃来自可疑IP地址的流量。正确配置网络和入侵检测系统也有助于减少DoS攻击成功的机会。
跨站点脚本–验证和净化标题、通过URL传递的参数、表单参数和隐藏值有助于减少XSS攻击。
cookie/会话中毒–这可以通过加密cookie的内容、一段时间后使cookie超时、将cookie与用于创建它们的客户端IP地址相关联来防止。
成型回火-这可以通过在处理用户输入之前确认和验证用户输入来防止。
代码注入–这可以通过将所有参数视为数据而不是可执行代码来防止。净化和验证可以用来实现这一点。
污损-个好的web应用程序开发安全策略应该确保它密封了访问web服务器的常用漏洞。这可能是开发web应用程序时操作系统、web服务器软件和最佳安全实践的正确配置。
网站黑客技巧:在线入侵网站
在这个网站黑客实践场景中,我们将劫持位于www.techpanda.org。 我们将使用跨站点脚本来读取cookie会话id,然后用它来模拟一个合法的用户会话。
假设攻击者可以访问web应用程序,并且他想劫持使用相同应用程序的其他用户的会话。假设攻击者的访问帐户是受限帐户,此攻击的目标可能是获得web应用程序的管理员访问权限。
入门指南
打开http://www.techpanda.org/
出于实践目的,强烈建议使用SQL注入获得访问权限。参考这个文章以获得更多关于如何做到这一点的信息。
登录电子邮件是admin@google.com,密码是Password2010
如果您已经成功登录,那么您将获得以下仪表板
Article_12_1.png (15.98 KB, 下载次数: 34)
下载附件
保存到相册
2022-5-15 14:54 上传
点击添加新联系人
输入以下内容作为名字
这里
上面的代码使用了JavaScript. 它添加了一个带有onclick事件的超链接。
当不知情的用户单击该链接时,事件检索服务器端编程语言(Professional Hypertext Preprocessor的缩写)cookie会话id,并将其与URL中的会话ID一起发送到snatch_sess_id.php页面
Article_12_2.png (15.9 KB, 下载次数: 38)
下载附件
保存到相册
2022-5-15 14:55 上传
如下所示,输入剩余的详细信息
点击保存更改
Article_12_3.png (18.04 KB, 下载次数: 41)
下载附件
保存到相册
2022-5-15 14:55 上传
您的仪表板现在将看起来像下面的屏幕
Article_12_4.png (16.52 KB, 下载次数: 38)
下载附件
保存到相册
2022-5-15 14:55 上传
由于跨站点脚本代码存储在数据库中,因此每次具有访问权限的用户登录时都会加载它
让我们假设管理员登录并点击了显示“黑暗”的超链接
他/她将会看到在URL中显示会话id的窗口
Article_12_5.png (9.41 KB, 下载次数: 32)
下载附件
保存到相册
2022-5-15 14:55 上传
注意:脚本可以将值发送到存储PHPSESSID的某个远程服务器,然后用户重定向回网站,就像什么也没发生一样。
注意:你得到的值可能和这个网页黑客教程里的不一样,但是概念是一样的
使用Firefox和篡改数据插件的会话模拟
下面的流程图显示了完成本练习必须采取的步骤。
Article_12_6.png (10.11 KB, 下载次数: 37)
下载附件
保存到相册
2022-5-15 14:56 上传
你将需要火狐网络浏览器为这一部分和篡改数据插件
打开Firefox并安装插件,如下图所示
Article_12_7.png (21.84 KB, 下载次数: 33)
下载附件
保存到相册
2022-5-15 14:56 上传
Article_12_8.png (52.37 KB, 下载次数: 36)
下载附件
保存到相册
2022-5-15 14:56 上传
搜索篡改数据,然后点击安装,如上所示
Article_12_9.png (12.56 KB, 下载次数: 32)
下载附件
保存到相册
2022-5-15 14:57 上传
点击接受并安装…
Article_12_10.png (28.35 KB, 下载次数: 34)
下载附件
保存到相册
2022-5-15 14:57 上传
Article_12_11.png (31.88 KB, 下载次数: 39)
下载附件
保存到相册
2022-5-15 14:57 上传
安装完成后,单击“立即重启”
如果Firefox中没有显示菜单栏,请启用它
Article_12_12.png (17.07 KB, 下载次数: 31)
下载附件
保存到相册
2022-5-15 14:57 上传
点击工具菜单,然后选择篡改数据,如下所示
Article_12_13.png (23.74 KB, 下载次数: 35)
下载附件
保存到相册
2022-5-15 14:58 上传
您将看到以下窗口。注意:如果窗口不是空的,点击清除按钮
Article_12_14.png (8.81 KB, 下载次数: 33)
下载附件
保存到相册
2022-5-15 14:58 上传
点击开始篡改菜单
切换回Firefox web浏览器,键入http://www.techpanda.org/dashboard.php 然后按回车键加载页面
您将从篡改数据中获得以下弹出窗口
Article_12_15.png (14.75 KB, 下载次数: 38)
下载附件
保存到相册
2022-5-15 14:58 上传
弹出窗口有三(3)个选项。篡改选项允许您在HTTP头信息提交给服务器之前对其进行修改.
点击它
您将看到以下窗口
Article_12_16.png (13.03 KB, 下载次数: 41)
下载附件
保存到相册
2022-5-15 14:59 上传
复制您从攻击URL中复制的PHP会话ID,并将其粘贴在等号后面。您的值现在应该如下所示
PHPSESSID = 2 dvltipp 2n 8 ldbn 11 B2 ra 76 lm 2
点击确定按钮
您将再次看到篡改数据弹出窗口
Article_12_17.png (9.54 KB, 下载次数: 31)
下载附件
保存到相册
2022-5-15 14:59 上传
取消选中询问是否继续篡改的复选框。
完成后点击提交按钮
您应该能够看到如下所示的仪表板
Article_12_18.png (24.58 KB, 下载次数: 28)
下载附件
保存到相册
2022-5-15 14:59 上传
注意:我们没有登录,我们使用跨站点脚本检索的PHPSESSID值模拟了一个登录会话*
摘要
web应用程序基于服务器-客户端模型。客户端使用web浏览器访问服务器上的资源。
Web应用程序通常可以通过互联网访问。这使得它们容易受到攻击。
Web应用威胁包括SQL注入、代码注入、XSS、污损、Cookie中毒等。
在开发web应用程序时,良好的安全策略有助于确保它们的安全。