你想了解黑客是如何攻击网站和Web应用的吗,你想知道如何保护他们免受黑客攻击吗?你想知道你写出的代码是安全的吗?
那么让我们一起走进web网站安全测试吧。
这是一套关于网站和web应用渗透测试的综合课,这门课,将带你从一个初学者开始,从一个没有渗透测试的起点开始,走向专业的渗透测试。
本课程专注于渗透测试(penetration testing)的实际操作,包括每次攻击背后的理论。在进入渗透测试之前,您将首先学习如何搭建一套渗透测试环境,把所需的软件都安装上,以便在你自己的机器上实践渗透测试。
你会学到什么是网站,它是如何工作的,它依赖什么,什么是网络服务器,数据库,以及所有这些组件如何协同工作给我们提供的功能。
一旦你了解了网站是如何工作的,我们就开始讨论如何利用这些组件和这种通讯方式来讨论黑客是如何进行攻击的。本课程将带您从一个新手到一个更高级的水平——当你完成这套课以后,你将能够从黑帽黑客那里,对Web站点和Web应用进行安全测试,,不光是这些,你还能够解决这些漏洞并且对网站进行安全保护。在这套课程中所解释的所有攻击都是针对我实验环境中的真实设备进行的。
本课程分为三个主要部分:
一. 信息收集-本节将教你如何收集你的目标网站的信息,你将学习如何发现使用的是哪个DNS服务器,网站服务器,子域名,未发布的目录,敏感文件,用户电子邮件,同一服务器上的网站,甚至是主机提供商。这一信息至关重要,因为它增加了成功访问目标网站的机会。
二. 漏洞的发现和修复--在这以部分,您将学习如何发现和修复大量的漏洞,这部分分为若干小节,每小节覆盖一个特定的漏洞,首先你会学到这是什么漏洞,这个漏洞能允许我们做什么,最后我们将看看什么样的代码导致这个漏洞,向你展示如何修复它和对网站进行安全防护,课程中覆盖以下漏洞:
1. 文件上传(File upload):此漏洞允许攻击者在目标web服务器上上传可执行文件,课程将介绍如何防止利用这些漏洞来控制目标网站。
2. 代码执行(Code Execution)——此漏洞允许用户在目标web服务器上运行系统代码,这可以用于执行恶意代码并获得反向shell访问,从而使攻击者完全控制目标web服务器。课程将介绍如何利用这个漏洞来执行恶意代码,获得反向连接来让攻击者完全控制目标web服务器。
3. 本地文件包含——这个漏洞可以用来阅读目标服务器上的任何文件,可以利用这一点阅读敏感文件,你将学习如何防止这种漏洞,防止得到反向连接,来避免让攻击者获得完全控制目标web服务器的权限。
4. 远程文件包含——此漏洞可以在目标web服务器上加载远程文件,你将学习如何防止利用此漏洞完全控制目标web服务器。
5. SQL注入——这是这套课中最大的一部分,因为这是最危险的漏洞,它无处不在,不光这样,可以利用它做上面的漏洞允许我们做的所有的事情,甚至更多,它可以让你在不知道密码的情况下登录管理员账号,如何防止访问数据库并获得存储的所有数据,如用户名、密码、信用卡....等等,防止用SQL注入读取存储在服务器中的文件,防止将文件写入服务器,甚至得到一个反向连接,学习如何防止攻击者控制web服务器!
6. 跨站脚本攻击(XSS)——这个漏洞可以用来让访问有漏洞的页面的用户运行javascript代码,不光这样,您将学习如何从用户那里窃取credentials(比如登录密码),甚至可以访问他们的计算机。您将学习这三种类型(反射、存储和基于dom)。
7. 不安全的会话管理——在这一部分,您将学习如何利用web应用程序中不安全的会话管理,以及在不知道其密码的情况下登录到其他用户帐户,您还将了解如何发现和利用CSRF(Cross-site request forgery跨站请求伪造)。
8. 暴力和字典攻击——在这一部分,您将了解这些攻击是什么,它们之间的区别是什么,以及如何进行攻击,在成功的情况下,您将能够猜到攻击目标的登录的密码。
三. 实施漏洞利用,在本节中,您将学习利用上述漏洞中你获得的权限能做什么,您将学习如何转换反弹shell访问到Weevely访问,反过来也一样,您还会学习如何在目标服务器上运行系统命令,目录之间切换,访问在同一台服务器上的其他网站,上传/下载文件,访问数据库,甚至把整个数据库下载到您的本地机器上,您将学习如何绕过安全性去做所有的操作,即使你没有权限这样做!
这门课中所有的攻击都是在真实网站上的实际的攻击,在每一个漏洞中,你将学习到基本的漏洞发掘,它会给你更多的特权或允许你绕过安全测量,您将学习如何以及为什么这些漏洞可以被利用,如何修复它们,以及什么是正确的做法,以避免套管。
注意:本课程仅为教学目的而创建,所有的攻击都是在我自己的测试环境中或我允许测试的设备上发起的。
我的目的是通过揭露真正的黑帽黑客所使用的方法来教育人们并提高他们的意识,及展示如何从这些黑客那里保护系统。