在我的专栏各大CTF平台WP中,我写了很多wp供大家学习
前言
写这个文章是因为我很多粉丝都是学生,经常有人问:
感觉大一第一个学期忙忙碌碌的过去了,啥都会一点,但是自己很难系统的学习到整个知识体系,很迷茫,想知道要如何高效学习。
这篇文章我主要就围绕两点,减少那些罗里吧嗦的废话,直接上干货:
- CTF如何学习?
- 打CTF有什么用
1.CTF如何学习
首先你得明确,CTF是有六个方向的,不建议你一上来就直接全抓,我个人建议是,web好走一点,对于自学者来说还是比较友好的。
web安全知识学习(理论期)
web基础/渗透环境搭建/常用工具
1.web方面的基础知识,比如你去学习HTML等相关前端语言。另外端口也可以学习一下3306,3389等端口的利用。
2.渗透环境的搭建也是必不可少的,最快捷的方法就是装一个kalilinux的虚拟机,对于小白来说最好不过了,不需要配置过多的环境和工具,系统全部自带,对于web安全研究人员来说kali是一个不错的选择(网上教程很多,不再列举)
3.常用工具这边,比如注入工具学习sqlmap,以及burp,MSF,nmap,beef,AWVS,wk,等工具,来辅助完成渗透以及方便渗透人员。(工具需要配置环境,例如sqlmap需要python环境才能够使用,小白配置起来比较鸡肋,百度相关教程)
owasp top 10漏洞
- 注入
- 失效身份验证和会话管理
- 敏感信息泄露
- XML外部实体注入攻击(XXE)
- 存取控制中断
- 安全性错误配置
- 跨站脚本攻击(XSS)
- 不安全的反序列化
- 使用具有已知漏洞的组件
- 日志记录和监控不足
漏洞挖掘(初期实战)
Google hacker
可能大部分同学还没有听说过,学过,或者只是粗略的了解了一下谷歌语法,认为它的功能一般,没有什么大用处,然后就放到一边去了,但其实不是,其实大部分情况下的漏洞还是得靠谷歌语法的。很多同学可能是看了一些SRC大佬的回答以及文章之类的,就直接带上电脑,在网上找一些大集团,大学,政府等平台去进行渗透测试,这种行为无疑是错误的
且不说你没有经验,一上来就搞这种大平台,对于一个新手来说,能有多大收获呢?(运气爆表当我没说)。那些文章和SRC大佬的水平和方法并不一定适用于你。对于新手,更多还是用谷歌语法去找漏洞,比如找逻辑漏洞(短信轰炸)就intitle:注册 inurl:http://edu.cn这个语法如果看不懂建议回炉重造,这是最基本的,查找教育机构逻辑漏洞的一个简单谷歌语法,又或者你要挖注入,那就inurl:asp?id=
这样去挖洞的效率绝对比你在网上瞎找要好,谷歌语法可以帮助我们筛选网站,我们可以根据不同漏洞URL特征,网站内容,标题等,利用谷歌语法来查找相关网站去进行渗透测试,这个对于小白挖洞来说非常重要。
网站信采集
- 其实挖不到漏洞,除了思路问题,技术问题,被大佬挖完等问题外,还有一点,信息采集不到位,有时信息收集可能微不足道,没有什么作用,但有时他却能决定本次渗透能否成功,所以一定要事先做好信息采集的工作,像whois,端口,目录,子域名,邮箱枚举等手段。
- 那么比较不错的信息采集过程用到的工具有哪些?
站长工具 - 站长之家 (chinaz.com)
Shodan Search Engine
2.打CTF有什么用?
很多同学想要去打CTF,为了什么?
- 想要靠比赛来赚取更多的学分
- 想要在比赛中提升个人技术水平
- 想要结识更多大佬,开拓眼界,就业有更多选择等
打CTF,如果是一个刚刚开始学习或者接触不久的小白来说,去一些比较有意思的比赛或者队伍当中,就算做不出几道题,队伍中没有什么存在感。但仍然可以学到很多之前没有接触过的操作,姿势,以及各种奇怪的技巧。
但有一点也请各位同学注意,目前CTF中的题目和环境,很多都和现实(实战)脱轨,所以说打CTF可以学到技术,但可能对实战的帮助不是很大.
- 但还是可以锻炼自己的渗透思路,手法,锻炼自己的实战能力。至少在基本功方面,和其他人相比会有显著的提升。
- 且目前来看,很多CTF都是有各大公司投资,以及很多安全企业的招聘上都会有“CTF获奖者优先”之类的字眼,至少对之后的就业是有帮助的。并且很多高校也是可以通过CTF比赛来赚取学分,对新生来说,打CTF还是有不少好处的
- 但归根结底,CTF还是类似于黑客之间的,派对?拥有一定官方背景的比赛国内还不是很多,被各大公司接受承认的名次和奖项也比较少
不过,最终还是看题主自己了。只要感觉在比赛中学到了技术,感受到了快乐那就坚持下去。但思维不要过度的CTF化,这可能对你以后的实际项目有一定的影响。
总结
以下是我总结出来的一些知名CTF网站
CTF 比赛时间表
- CTFwiki(入门必看wiki): https://ctf-wiki.github.io/ctf-wiki/#/introduction
- XCTF社区: https://time.xctf.org.cn
- i春秋: CTF大本营 - 网络安全竞赛服务平台-i春秋
- CTFrank: https://ctfrank.org/
- CTFtime(基本都是国外的): https://ctftime.org
本地靶场
- SQLi: GitHub - Audi-1/sqli-labs: SQLI labs to test error based, Blind boolean based, Time based.
- DVWA: GitHub - digininja/DVWA: Damn Vulnerable Web Application (DVWA)
- metsploitable3: GitHub - rapid7/metasploitable3: Metasploitable3 is a VM that is built from the ground up with a large amount of security vulnerabilities.
- Webgoat: GitHub - WebGoat/WebGoat: WebGoat is a deliberately insecure application
- Juiceshop: GitHub - juice-shop/juice-shop: OWASP Juice Shop: Probably the most modern and sophisticated insecure web application
国内 CTF
- 实验吧: http://www.shiyanbar.com
- XCTF 实训平台: http://oj.xctf.org.cn
- 安恒周周练: https://www.linkedbyx.com/home
- XSS专练: alert(1)
- 南京邮电大学CTF/网络攻防训练平台: http://ctf.nuptzj.cn/
- BugkuCTF: 首页 - Bugku CTF
国外 CTF
- Root-me: https://root-me.org
- CTF365: https://ctf365.com/
漏洞复现
- Vulhub: GitHub - vulhub/vulhub: Pre-Built Vulnerable Environments Based on Docker-Compose
其它大佬整理的链接
多搜搜,很多前辈已经整理了很多啦!
- Awesome-Platforms/CTF-Platforms: https://github.com/We5ter/Awesome-Platforms/blob/master/CTF-Platforms.md
- 知乎提问: 学web安全去哪里找各种各样的靶场?- 知乎
另外,对于各个入门ctf的小伙伴,建议看看XCTF上的攻防世界,上面的题目由浅入深还是挺好的