渗透入门

web安全简单说

网络安全的学习有很多方向:渗透测试,逆向工程,密码学,移动安全,硬件安全等。就web渗透来说的话,入门相对简单,因为我们都接触和实际使用过网站,但是web渗透越深入越复杂,越往后学习,涉及到的知识体系越大。所以学习web渗透,重点是将相关的基础知识打牢,基础知识牢固,后面继续深入学习的时候才会顺其自然。

知识简介

说到web渗透的基础知识,web渗透的基础知识很多,这也就是为什么深入学习的时候它的知识体系是非常庞大的。web前后端,web服务器,HTML,js,php,java,python等语言,liunx相关知识,协议,端口;同时还有很多的专业术语:exp,poc,payload,shell等。

入门指南

上面简单介绍了一下web渗透相关的东西,下面主要详细说一下关于web渗透入门学习的一个推荐学习历程(可根据自己的实际情况学习,这里只是针对不知道该如何学习的同学的一个引导):

前端语言

写出来的web页面总要有点样式吧,所以前端还是要简单学习一下的,才开始入门的话不用太深入,简单的学习即可:

  • HTML
  • javascript
  • ajax
  • css

推荐学习地址:
HTML
javascript
ajax
css

后端语言PHP

php语言主要就是方便简单,但同时PHP出现的漏洞也是非常多的,在我们初学web时,使用php可以帮助我们很快的入门,初学时要会写简单的代码,实现get,post请求,知道cookie,header,实现前后端交互,对数据库的操作这些简单的操作。
PHP教程

我们要使用一个web服务器来运行php写的简单的站点或者页面,这里我们使用PHPstudy,PHPstudy集成了Apache+PHP+mysql,没有复杂的服务器配置,使用非常简单。
PHPstudy下载

使用PHP之前推荐先了解学习MySQL

MySQL

MySQL是一个使用非常广泛关系型数据库,入门学习的时候会增删查改操作即可,推荐使用PHPstudy集成的MySQL进行练习。
MySQL学习

HTTP协议

简单了解http是如何发送请求的,数据报是如何构成的。
HTTP协议

Linux学习

linux系统是不同于windows系统的,在成为一个hacker的道路中不会linux是不可能的,不过入门的话不需要学太仔细,会使用基本的命令操作linux,会在linux上搭建一个web服务器。
Liunx学习

这里可能会有点难入门,linux服务器可以使用VMware workstation 或者 腾讯云/阿里云购买一台ubuntu服务器,这个可以先暂时放在一边,也可以问学长,只要是学习,学长们都是来者不拒的。

常见漏洞

学习了上面的基础知识后,就可以开始学习一些漏洞原理了,学习原理是通过PHP复现,一是PHP简单易上手,二是PHP几乎涵盖所有常见类型漏洞,理解起来也比较简单

SQL注入

MySQL学习过,我想SQL语句也已经有了一定的学习,通过学习知道什么是SQL注入:sql注入,一个例子让你知道什么是sql注入(如果看不懂多百度)

然后在本地搭建一个专门练习SQL注入的平台,下载源码
下载 sqli-labs 源码
放到PHPstudy里面去运行,就可以训练SQL注入了。
sqli-labs搭建

文件包含漏洞

学习过PHP,应该对include(),include_once(),require(),require_once() 有所了解,具体请看:
文件包含漏洞学习总结

命令执行,代码执行

Web渗透测试中命令执行漏洞详解
实际可以在dvwa平台上操作。

文件上传漏洞

文件上传漏洞主要是上传webshell,获取网站权限。
文件上传漏洞
同sqli-labs一样,文件上传也有一个靶场:
upload-labs
先自己黑盒测试,如果绕不过,就白盒看看能否上传成功,实在不行就看writeup
upload-labs通关手册

XSS

学XSS要学会javascript,xss又分为反射型、存储型、DOM型xss,是由于对用户的输入过滤不严造成的,将这些恶意代码嵌入到网页中,当用户浏览的时候,其中的恶意代码就会执行。
XSS漏洞详解

发现一个xss小游戏,还挺有意思的:
xss小游戏

CSRF

CSRF现在的危害越来越小,而且防范也非常容易,但是必要的漏洞原理还是要学习。
Web安全-CSRF漏洞

SSRF

SSRF是通过服务器端去发送请求,可以执行访问内网,探测端口等敏感操作。
SSRF漏洞的利用与学习

XXE

学习XXE漏洞之前需要学一下XML。
XML教程
[一篇文章带你理解漏洞之 XXE 漏洞](https://www.k0rz3n.com/2018/11/19/一篇文章带你深入理解 XXE 漏洞/)

反序列化

先学习PHP的反序列化,等后面学了java后,再学习java的反序列化漏洞。
四个实例递进php反序列化漏洞理解
最通俗易懂的PHP反序列化原理分析

SSTI模板注入

服务端模板注入攻击 (SSTI)之浅析

变量覆盖

CTF之php变量覆盖漏洞

论PHP的常见漏洞

如果前面的都了解了或者说学的不错了,那这篇文章就当一个比较全面的总结吧。
http://www.vuln.cn/7075

大量的CTF练习

在前期阶段,做大量的CTF题目有助于我们快速的成长,因为CTF里面涉及到了很多的知识点,做大量的题目,搞清楚每个题目所涉及到的知识点,最后无疑会产生非常大的一个质变。除了我下面推荐的两个平台,i春秋,合天智汇等也有优质的CTF赛题,还有很多是往届赛事的题目。当大家融入到这个圈子之后,找这些也很容易。

推荐靶场

DVWA

DVWA涵盖了php的常见漏洞,提供了一个测试环境,上述提到的漏洞基本都可以在这上面进行复现。
源码下载:dvwa源码下载
同sqli-labs一样,将DVWA放在PHPstudy的www目录下,配置好数据库即可运行。

Bugku

Bugku是一个ctf练习平台,在初学阶段,ctf可以衡量大家是否掌握这些基础知识。

攻防世界

攻防世界也是一个ctf平台。

大家在做ctf的时候,肯定会有些题不会做,先试着自己做,当实在不会的时候再在网上搜索writeup,跟着writeup边做边思考为什么,然后再自己思考是否还有其他做法。

工具学习

sqlmap

sqlmap是一个开源的渗透测试工具,可以用来进行自动化检测,利用SQL注入漏洞,获取数据库服务器的权限。
学习链接:
Sqlmap使用教程
超详细SQLMap使用攻略及技巧分享

因为sqlmap需要python环境的的,所以要先搭建好python环境:
python 环境搭建

burpsuite

burp是一个可以抓取请求数据包/拦截响应数据包的工具,在渗透测试中,burp是必备工具,必须要熟练运用burpsuite。
因为burp专业版收费,可以在网上找破解版,burpsuite安装与使用:
burp suite的安装与基本使用

安装burp需要jdk,所以要先安装配置好jdk:
jdk的下载与安装详细图解

其余优质学习资料

推荐web安全微信公众号

  • HACK学习呀
  • 合天智汇
  • Ms08067安全实验室
  • 安全祖师爷
  • 洛米唯熊
  • 小白帽学习之路

推荐知识星球

  • Bypass
    (其他的不收费的我也不太了解)

推荐学习平台

PDF分享

说在最后

学习最重要的是静下心来,这点我深有体会,后期在学一个东西或者知识点的时候,一定要记得专研,不要只停留在一个浅在的表面,只有专研才能有进步,在学习一个东西的时候切记不要分心,不要受外界影响,不能看到其他人在打游戏,出去玩,你也就想着一起玩会儿游戏,人是很容易堕落的,希望大家在学习的道路上能一往无前。

上面的一些学习链接如果并不能让大家理解这个东西,可以继续百度,也可以咨询学长们。在学习过程中遇到的任何问题都可以咨询群里的学长,也欢迎大家多多问问题,同时有什么意见或者提议也可以联系我们。


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!