别再瞎折腾了!这些Web渗透靶场让你从菜鸟变大神
最近有朋友问我想学Web渗透测试但不知道从哪里下手网上的教程看了一堆理论倒是懂了不少可一到实际操作就抓瞎。说实话这种情况我见得太多了就像学游泳一样光看视频是永远学不会的必须得下水扑腾几下才行。Web渗透测试这个领域实践比理论重要得多。你可以把SQL注入的原理背得滚瓜烂熟但如果没有在真实环境中操作过遇到实际情况还是会懵圈。这时候靶场就显得特别重要了它们提供了一个安全的练习环境让你可以放心大胆地去搞破坏。我自己这些年也折腾过不少靶场有些确实不错有些就比较坑了。今天就跟大家分享一下我用过的那些靶场包括详细的搭建过程希望能帮到想入门或者提升技能的朋友们。DVWA - 我的启蒙老师说到Web渗透靶场DVWADamn Vulnerable Web Application绝对是绕不开的。这个靶场我第一次接触是在大学时期当时对网络安全一窍不通就是觉得黑客很酷想学学。DVWA最大的优点就是简单直接而且搭建起来也不复杂。它把常见的Web漏洞都集中在一个应用里包括SQL注入、XSS、CSRF、文件上传漏洞等等。更贴心的是每个漏洞都有四个难度级别Low、Medium、High和Impossible。DVWA搭建教程搭建DVWA有好几种方式我推荐用Docker简单粗暴。方法一Docker部署推荐# 拉取镜像 docker pull vulnerables/web-dvwa # 运行容器 docker run --rm -it -p 80:80 vulnerables/web-dvwa就这么简单打开浏览器访问http://localhost就能看到DVWA了。默认用户名是admin密码是password。点击create database创建靶场方法二传统部署如果你不想用Docker也可以手动搭建先准备LAMP环境Linux Apache MySQL PHP从GitHub下载DVWA源码git clone https://github.com/digininja/DVWA.git把代码放到Apache的web目录下修改配置文件config/config.inc.php.dist重命名为config.inc.php创建数据库访问setup页面初始化说实话第二种方法比较麻烦特别是在Windows上搭建各种环境问题能把人搞疯。我当年就是这么过来的踩了无数坑。我记得当时第一次成功执行SQL注入的时候那种兴奋感真的无法形容。在Low级别下你甚至可以直接在输入框里输入1 or 11这种最基础的payload就能成功虽然现在看来很幼稚但对新手来说这种成就感是很重要的。WebGoat - 教学式的好帮手WebGoat是OWASP项目下的一个靶场说实话刚开始我对它印象一般觉得太教学化了。但后来发现正是这种教学化的设计让它变得很有价值。WebGoat搭建过程WebGoat基于Java开发搭建相对简单方法一直接运行JAR包# 下载最新版本的jar包 wget https://github.com/WebGoat/WebGoat/releases/download/v8.2.2/webgoat-server-8.2.2.jar # 运行 java -jar webgoat-server-8.2.2.jar --server.port8080访问http://localhost:8080/WebGoat就可以了需要先注册一个账号。方法二Docker部署docker run -p 8080:8080 -t webgoat/goatandwolf这个镜像同时包含了WebGoat和WebWolfWebWolf是一个辅助工具可以帮你接收邮件、查看请求等。这个靶场最大的特点就是每个漏洞都有详细的说明和提示就像有个老师在旁边指导你一样。比如在练习SQL注入的时候它会告诉你应该关注哪些地方可能的注入点在哪里甚至会给出一些提示让你思考。我特别喜欢WebGoat的一点是它会跟踪你的学习进度完成一个挑战后会有明确的反馈。这种游戏化的设计让学习过程不那么枯燥。bWAPP - 漏洞的百科全书bWAPPbuggy Web Application这个靶场我是在工作后才接触到的当时公司要做安全培训同事推荐的。这个靶场最大的特点就是漏洞种类多号称包含了100多种Web漏洞。bWAPP搭建指南bWAPP基于PHP开发搭建过程使用Docker最简单docker run -d -p 80:80 raesene/bwapp手动搭建下载源码git clone https://github.com/ethicalhack3r/bWAPP.git配置LAMP环境修改admin/settings.php中的数据库配置访问install.php进行初始化我记得第一次打开bWAPP的时候被它的漏洞列表震惊了密密麻麻一大堆从A1到A10OWASP Top 10都有覆盖还有很多其他类型的漏洞。不过这也是它的问题选择太多反而不知道从哪里开始。有个小技巧bWAPP可以设置不同的安全级别建议从low开始练习逐步提高难度。Mutillidae - 界面友好的练习场Mutillidae这个靶场我是偶然发现的当时在找一个界面比较现代的练习环境DVWA的界面实在是太丑了。Mutillidae的界面确实好看一些而且功能也很全面。Mutillidae部署方法Docker方式docker run -d -p 80:80 -p 3306:3306 citizenstig/nowasp这个镜像包含了完整的LAMP环境和Mutillidae。手动安装准备LAMP环境下载源码到web目录访问应用按照提示配置数据库重置数据库到默认状态Mutillidae有个很贴心的功能就是可以随时重置数据库这样你搞坏了什么都不用担心。而且它还有提示系统可以给新手一些指导。我在练习文件上传漏洞的时候Mutillidae的环境帮了很大忙。它不仅有基础的文件上传还有各种绕过技巧的练习比如修改文件扩展名、MIME类型绕过等等。Pikachu - 国产精品靶场说到国产靶场Pikachu绝对值得一提。这是国内安全研究者开发的最大的优势就是有中文文档对国内用户很友好。Pikachu搭建教程Docker部署docker pull area39/pikachu docker run -d -p 80:80 area39/pikachu源码部署git clone https://github.com/zhuifengshaonianhanlu/pikachu.git然后配置好PHP环境修改数据库连接信息就可以了。Pikachu的漏洞分类很清晰包括暴力破解、XSS、SQL注入、RCE、文件包含等等。每个分类下面又有不同的子类型比如SQL注入就分为数字型、字符型、搜索型等等。我特别喜欢它的一点是每个漏洞都有相应的源码展示你可以直接看到漏洞是怎么产生的这对理解漏洞原理很有帮助。VulnHub - 综合实战平台VulnHub严格来说不是一个靶场而是一个靶机集合平台。上面有各种各样的虚拟机镜像每个都是一个完整的渗透测试环境。VulnHub使用方法访问vulnhub.com选择合适难度的靶机下载虚拟机镜像用VMware或VirtualBox导入配置网络环境开始渗透我推荐几个适合新手的靶机Metasploitable 2经典入门靶机DVWA就是前面说的那个BasicPentesting专门为初学者设计VulnHub的好处是每个靶机都有完整的渗透路径从信息收集到权限提升是一个完整的渗透测试流程。不像前面那些靶场只是单个漏洞的练习。HackTheBox - 高手进阶之路HackTheBoxHTB算是比较高端的平台了上面的靶机质量都很高而且会定期更新。不过它有个门槛需要先通过一个入门挑战才能注册。HTB注册和使用访问hackthebox.eu完成invite challenge获取邀请码注册账号连接VPN开始挑战HTB分为免费和付费两种免费用户可以访问部分退役的靶机付费用户可以访问所有内容包括最新的靶机。我在HTB上学到了很多高级技巧比如Active Directory渗透、容器逃逸、内网横向移动等等。不过对新手来说可能有点难建议先在其他靶场练好基础再来挑战。搭建环境的一些建议说了这么多靶场再聊聊搭建环境的一些经验。虚拟机隔离不管用哪种方式搭建我都建议在虚拟机里进行。一是为了安全二是方便管理。我一般用VMware Workstation稳定性比较好。网络配置如果是本地练习用NAT模式就够了。如果要模拟真实网络环境可以配置多个网段练习内网渗透。快照功能虚拟机的快照功能一定要用起来每次重大操作前都做个快照搞坏了可以快速恢复。我就经常把靶场搞崩溃有快照就不怕了。工具准备除了靶场还要准备好渗透测试工具。Kali Linux是个不错的选择集成了大部分常用工具。当然也可以在Windows上安装单独的工具。学习路径建议对于新手我建议这样的学习路径从DVWA开始熟悉基本概念用WebGoat深入学习各种漏洞在Pikachu上练习更多变种尝试VulnHub的简单靶机最后挑战HTB等高级平台不要贪多每个靶场都要深入研究把每种漏洞的原理和利用方法搞清楚。我见过很多人浅尝辄止结果学了很久还是半桶水。另外光练习还不够要多看writeup学习别人的思路和技巧。很多时候同一个漏洞有多种利用方式多学几种总没坏处。实战中的注意事项虽然这些都是练习环境但也要养成好习惯。比如做好记录每次测试都要记录下过程和结果这样以后遇到类似情况就有参考了。我自己有个习惯每次发现新的攻击手法都会记录在笔记里包括payload、利用条件、防护方法等等。时间长了这些笔记就成了宝贵的资料库。还有就是要理解漏洞的本质不要只会用工具。工具只是辅助理解原理才是根本。我见过很多人只会用sqlmap跑注入但不知道注入的原理这样遇到WAF或者特殊情况就懵了。一些踩过的坑说说我在搭建这些靶场时踩过的坑希望大家能避免。端口冲突问题很多靶场默认都用80端口如果同时运行多个就会冲突。解决办法是修改端口映射比如把DVWA映射到8080WebGoat映射到8081这样。权限问题在Linux上搭建时经常遇到权限问题特别是文件上传功能。记得给web目录适当的写权限但也不要设置得太宽松。数据库连接手动搭建时数据库连接是个常见问题。要确保MySQL服务正常运行用户权限配置正确。我当年就因为这个问题折腾了好久。防火墙设置Windows的防火墙有时候会阻止访问记得添加相应的规则。Linux上也要注意iptables的配置。进阶学习建议当你把基础靶场都练得差不多了可以考虑一些进阶的内容代码审计学会看源码找漏洞这比黑盒测试更深入。可以从PHP开始语法相对简单。内网渗透搭建一个小型的内网环境练习横向移动、权限提升等技巧。移动端安全现在移动应用越来越多可以学学Android应用的安全测试。云安全云服务的安全问题也很值得关注AWS、Azure都有相关的练习环境。工具推荐除了靶场再推荐几个常用的工具Burp SuiteWeb应用安全测试的神器免费版功能就够用了。OWASP ZAP开源的Web应用扫描器功能很全面。Nmap网络扫描工具信息收集必备。Metasploit渗透测试框架集成了大量exploit。Wireshark网络抓包分析工具调试网络问题很有用。这些工具配合靶场使用效果会更好。不过记住工具只是辅助关键还是要理解原理。法律和道德问题最后必须强调一下法律和道德问题。所有的学习和练习都必须在合法的环境中进行绝对不能用学到的技术去攻击真实的系统。我见过一些人学了点皮毛就去搞破坏结果进了局子。网络安全法可不是开玩笑的违法成本很高。学习安全技术的目的是为了更好地保护系统而不是去搞破坏。希望每个学习者都能够遵守法律法规做一个有道德的安全研究人员。社区和资源学习过程中遇到问题是很正常的这时候社区的作用就体现出来了。推荐几个不错的社区FreeBuf国内知名的安全媒体平台有很多技术文章。先知社区阿里的安全社区质量比较高。看雪论坛老牌的安全技术论坛。GitHub很多安全工具和靶场的源码都在上面。Reddit的r/netsec国外的安全讨论区。多参与社区讨论不仅能学到知识还能结识志同道合的朋友。我现在很多朋友都是在这些社区认识的。持续学习的重要性安全技术发展很快新的攻击方式和防护技术层出不穷。要保持好奇心多关注最新的安全资讯和技术动态。我每天都会花时间看安全新闻了解最新的漏洞和攻击技术。虽然不是每个都用得上但保持敏感度很重要。另外参加一些安全会议也很有价值比如KCon、GeekPwn等等。现场听大牛分享收获会很大。职业发展方向如果你对安全技术很感兴趣也可以考虑往这个方向发展。现在安全人才缺口很大就业前景不错。可以考虑的方向有渗透测试工程师安全开发工程师安全运维工程师安全研究员安全咨询顾问每个方向的要求不太一样但基础的Web安全知识都是必需的。这些靶场就是很好的入门途径。写在最后Web渗透测试是一个需要大量实践的领域这些靶场为我们提供了很好的练习环境。但记住工具和环境只是辅助最重要的还是要有持续学习的心态。我自己也是从小白一步步走过来的深知学习过程中的困难和挫折。但只要坚持下去总会有收获的。现在回头看当年踩过的那些坑都是宝贵的经验。安全这个领域很有意思每天都有新的挑战和发现。虽然有时候会很累但那种解决问题后的成就感是其他工作很难给予的。如果你在搭建或使用这些靶场的过程中遇到问题可以多查查文档或者在相关社区求助。安全圈的氛围还是很好的大家都愿意分享和帮助新人。最重要的是所有的学习都要在合法的环境中进行。这些靶场就是为了让大家安全地学习千万不要用学到的技术去攻击真实的系统。做一个有道德的安全研究人员这是我们每个人的责任。祝大家学习愉快早日成为安全大神记住没有什么是一蹴而就的坚持练习你一定能达到自己的目标。路虽然长但只要方向对了就不怕走得慢。网络安全学习路线学习资源网络安全的知识多而杂怎么科学合理安排下面给大家总结了一套适用于网安零基础的学习路线应届生和转行人员都适用学完保底6k就算你底子差如果能趁着网安良好的发展势头不断学习日后跳槽大厂、拿到百万年薪也不是不可能初级网工1、网络安全理论知识2天①了解行业相关背景前景确定发展方向。②学习网络安全相关法律法规。③网络安全运营的概念。④等保简介、等保规定、流程和规范。非常重要2、渗透测试基础一周①渗透测试的流程、分类、标准②信息收集技术主动/被动信息搜集、Nmap工具、Google Hacking③漏洞扫描、漏洞利用、原理利用方法、工具MSF、绕过IDS和反病毒侦察④主机攻防演练MS17-010、MS08-067、MS10-046、MS12-20等3、操作系统基础一周①Windows系统常见功能和命令②Kali Linux系统常见功能和命令③操作系统安全系统入侵排查/系统加固基础4、计算机网络基础一周①计算机网络基础、协议和架构②网络通信原理、OSI模型、数据转发流程③常见协议解析HTTP、TCP/IP、ARP等④网络攻击技术与网络安全防御技术⑤Web漏洞原理与防御主动/被动攻击、DDOS攻击、CVE漏洞复现5、数据库基础操作2天①数据库基础②SQL语言基础③数据库安全加固6、Web渗透1周①HTML、CSS和JavaScript简介②OWASP Top10③Web漏洞扫描工具④Web渗透工具Nmap、BurpSuite、SQLMap、其他菜刀、漏扫等恭喜你如果学到这里你基本可以从事一份网络安全相关的工作比如渗透测试、Web 渗透、安全服务、安全分析等岗位如果等保模块学的好还可以从事等保工程师。薪资区间6k-15k到此为止大概1个月的时间。你已经成为了一名“脚本小子”。那么你还想往下探索吗【“脚本小子”成长进阶资源领取】7、脚本编程初级/中级/高级在网络安全领域。是否具备编程能力是“脚本小子”和真正黑客的本质区别。在实际的渗透测试过程中面对复杂多变的网络环境当常用工具不能满足实际需求的时候往往需要对现有工具进行扩展或者编写符合我们要求的工具、自动化脚本这个时候就需要具备一定的编程能力。在分秒必争的CTF竞赛中想要高效地使用自制的脚本工具来实现各种目的更是需要拥有编程能力.零基础入门建议选择脚本语言Python/PHP/Go/Java中的一种对常用库进行编程学习 搭建开发环境和选择IDE,PHP环境推荐Wamp和XAMPP IDE强烈推荐Sublime ·Python编程学习学习内容包含语法、正则、文件、 网络、多线程等常用库推荐《Python核心编程》不要看完 ·用Python编写漏洞的exp,然后写一个简单的网络爬虫 ·PHP基本语法学习并书写一个简单的博客系统 熟悉MVC架构并试着学习一个PHP框架或者Python框架 (可选) ·了解Bootstrap的布局或者CSS。8、超级网工这部分内容对零基础的同学来说还比较遥远就不展开细说了贴一个大概的路线。感兴趣的童鞋可以研究一下不懂得地方可以【点这里】加我耗油跟我学习交流一下。网络安全工程师企业级学习路线如图片过大被平台压缩导致看不清的话可以【点这里】加我耗油发给你大家也可以一起学习交流一下。一些我自己买的、其他平台白嫖不到的视频教程需要的话可以扫描下方卡片加我耗油发给你都是无偿分享的大家也可以一起学习交流一下。网络安全学习路线学习资源结语网络安全产业就像一个江湖各色人等聚集。相对于欧美国家基础扎实懂加密、会防护、能挖洞、擅工程的众多名门正派我国的人才更多的属于旁门左道很多白帽子可能会不服气因此在未来的人才培养和建设上需要调整结构鼓励更多的人去做“正向”的、结合“业务”与“数据”、“自动化”的“体系、建设”才能解人才之渴真正的为社会全面互联网化提供安全保障。特别声明此教程为纯技术分享本书的目的决不是为那些怀有不良动机的人提供及技术支持也不承担因为技术被滥用所产生的连带责任本书的目的在于最大限度地唤醒大家对网络安全的重视并采取相应的安全措施从而减少由网络安全而带来的经济损失
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2411647.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!