Syclover-web安全入门指南

基础知识

我觉得学习Web安全至少得大概了解下关于Web的基础知识,比如Web服务器,前后端,HTTP协议等;linux的基础操作;了解一些常见的安全术语,如payload,exp,反弹shell等;还有必须学编程,否则很多漏洞不能理解,不会变通,只能成为脚本小子。另外在研究某个具体漏洞的时候也需要学习相关知识,比如研究SQL注入那肯定需要学习SQl语句以及后端语言对数据库的操作,研究XXE需要学习XML,等等。所以,当你发现某篇文章晦涩难懂的话那多半就是基础知识不够,这时建议凡是遇见不会的点就去搜资料,所有点都清楚之后再看问题就透彻很多。

可能你现在看到上面那一段话就已经云里雾里了😅,完全不明白那些名词是什么。当然我的意思不是必须学完这些所有基础才能进一步学习安全,很多时候都是在研究具体某个安全问题的时候才会临时去学习相关的知识。以下列一些应该学习的内容,当然不必在一开始就全部深入学习,可以大概了解,在以后遇到的时候在再一步深入

HTML和JavaScript

入门不需要太深入学习,能看懂,会简单的代码编写就行(比如写个表单提交),Ajax要学下,css需要了解下
HTML教程
JavaScript教程
Ajax教程

HTTP协议

可以在网上搜下相关资料,了解下就行,得知道HTTP的构成和不同的请求方法,极力推荐一本书《图解HTTP》,有空可以看看,漫画风还是挺有意思的
HTTP协议

MySQL

要理解SQL注入是必须要学SQL语句和某一门后端语言的,其实本质就是数据变成了指令。
SQL语句
MySQL教程
(会用SQL增删改查就行,高级用法以后在具体题目中慢慢学吧)

PHP

为什么编程语言要把PHP单独提出来,因为PHP是挺方便的,而且简单,也有很多安全问题值得研究,刚开始大概学学便是,基础语法能看懂,能写简单代码,前后端的交互(get,post,cookie,header),数据库的操作
PHP教程
教程中的环境搭建有点麻烦,建议安装PHPstudy(web服务器,mysql都集成了),具体用法可以网上搜搜
PHPstudey

Linux基础

由于此指南是针对入门Web安全的同学,Linux一开始也不建议用太多时间,能够Linux的日常操作就行,可以去图书馆借本linux的书(越薄越好 😂),最好是自己买台Linux服务器,我比较习惯ubuntu系统(阿里云学生机10元/月感觉不错)。然后自己装个apache,php,mysql,搭建个小网站(别用宝塔一类的自动部署,尽量自己动手)
(参考链接我是随便在网上搜的,要是觉得讲的不够详细就自己再搜搜,不必严格按照该文章做,主要目的就是熟悉linux,会搭建web服务器)
Ubuntu 18.04下使用Apache搭建一个web服务器

好了基础就少写点,我怕太多吓走新人 😶

Web安全漏洞

其实一开始学习Web安全就是在学习各种漏洞,调试各种漏洞
下面给的各种漏洞我没办法完完整整提供所有学习资料,得靠各位自己网上搜索了,其实搜索能力也是学安全的必备技能,有些参考链接我也是临时搜的,不能完全保证质量,各位自己甄别了
另外,勤动手,每个paylaod必须亲自调试!!! 😕/认真脸/
自己测试的时候要懂变通,比如某个地方改下测试还能不能执行,要有发散思维,切莫跟着教程学死技巧,学的不仅是技巧本身,还有思考问题的思维,举个例子,网上常见的后台万能密码' or '1'='1 为什么在某情况下可以是万能密码,原理是什么?可以换成什么形式?' or 1='1 可以吗?' or '1 可以吗?

SQL注入

(如果新人在学习到这里并且是认认真真跟着做时,想必会发现要学SQL注入得先搭环境,需要安装PHPstudy,然后得配置数据库,才可以将靶场跑起来,然后你得会PHP,这样才能看懂代码,才能发掘漏洞,然后得会SQL语句,这样才能利用漏洞,有时候是盲注,手动不大现实,需要自己写脚本,那么python就是不二之选。然后就根据这条链一步步学习便是,后面所有漏洞学习都同理,就不再重复了)

命令执行/代码执行

XSS

文件上传

文件包含

CSRF

XXE

SSRF

反序列化

变量覆盖

SSTI

其他

Web安全方面的漏洞当然不止这些,不过目前就入门来说掌握这些应该差不多了,其他的就希望你们在看文章或是做题中遇见并且学习

推荐的书籍

学习的时候,书也是不可少的,往往书中才有比较系统的知识。有些看不懂的话也很正常,配合网上搜索资料,慢慢消化,多动手!切莫只看不动,以为自己理解了,其实动手实践才能真正学到东西

推荐的靶场

其实我觉得我学习进度最快的时候就是在靶场边刷题边学习的时候,一开始可能无从下手,就可以看看别人写的wp(write up,题解,比如直接搜bugku WP),跟着wp作者的解题方法学习,然后自己思考,测试自己的想法。在学了某个漏洞原理之后也最好去找相应靶场,相应题目,练习巩固

综合在线CTF靶场

在线XSS靶场

综合本地靶场

需要学习的工具

我就只列几个Web安全中常用的工具吧

写在后面

终于快写完了,写了几个小时还是挺累的😑
学弟学妹们有什么问题也可以直接来问我,Q1729888211

一些提问

统一写几个你们可能有的疑问

一些建议


淚笑@SYClover