D0g3_17

Web 入门指南
Web 入门指南最近很多萌新反馈入门参考资料看不太懂,之后很多来问我web如何入门的,这里统一回答一下,以下会以知...
扫描右侧二维码阅读全文
26
2018/09

Web 入门指南

Web 入门指南

最近很多萌新反馈入门参考资料看不太懂,之后很多来问我web如何入门的,这里统一回答一下,以下会以知识点+题目+任务的形式给大家分享~ 有什么好的建议欢迎来一起交流~ ps: 方向有很多,因为笔者只是略懂web,其他方向暂时给不了建议,但是学习方法和学习能力是通用的~

0x01 必备能力

找到自我学习的驱动力

兴趣是最好的老师,首先得在一个领域找到一个坚持下去的信念,Ph0rse之前对我说过“行百里者,必靠死磕”。

如果你不知道学什么(对前途感到迷茫),可以尝试逐个了解一下入门参考资料中的各个方向,找到自己的兴趣点/驱动力,再坚持努力学下去。

如果你觉得你找到了学技术的动力,那么道格小组欢迎你的加入~

如果你有一颗热爱技术的心,但是自制力欠佳,同样,道格,一群热爱技术的小伙伴欢迎你的加入~ 我们一起相互督促一起进步~

学会解决问题

授之以鱼不如授之以渔,自己学会解决问题往往是最高效的,而且对你而言,你提升的是一种自我学习的能力。

  • 谷歌(需要翻墙,下文会提到)
  • 百度
  • 学长
  • 老师

百度和谷歌用法很简单,把你想问学长的东西一个个字敲到搜索引擎的搜索框中即可~

或许这种用法可能不足以解决你的问题,这时候可以了解一下谷歌/百度的搜索语法,来帮助你快速解决问题。
百度高级搜索语法
Google Hacking

这里说一个我亲身体会吧,前两周因为要申请免听,但是在学校网站翻了一大圈都没找到申请表在哪下载,后来突然想到一条搜索语法,然后尝试了一下,一秒钟就找到了~

免听 site:cuit.edu.cn

当然用来*站也是一个不错的神器

提问的智慧

学长学姐是非常非常乐意给大家解决一些有价值 的问题的~但提问前请务必思考一下这个问题的背景环境,可能是什么原因导致,为什么会导致这样的问题,你为解决这个问题做了哪些努力等等~ 然后带上这些思考和学长一起交流~

参考:提问的智慧

知识管理&展示

  • 构建自己的知识体系/笔记(有道云/印象…)
  • 搭建自己的博客(推荐hexo+github教程有很多,自行选择)

0x02 基础知识

以下知识完成的记录可以发到博客和大家一起share~

Linux基础

以目标性的方式学习,可以先通过网上的教程完成以下几个任务:
尽量先手动根据谷歌/百度上的教程手动搭建,熟悉流程原理之后可自行寻找自动化脚本

  • LAMP/LNMP搭建网站
  • 翻墙工具SSR的搭建

可以抽个时间,用搜索语法下载学校邮箱申请表,填好后去图书馆信息中心申请教育邮箱,可以免费获得Github学生包
如果想自己买的主机的花,推荐主机服务商(Digital Ocean(配合Paypal食用更佳) / 搬瓦工

这样之后你会发现你又学到了如何连接ssh,如何使用ftp,常用的linux命令等等。然后推荐一本《鸟哥的linux私房菜》/《Linux就该这么学》可以先找pdf看,觉得好再自行决定买哪本。这些书的建议是当做工具书使用(而不是从头到尾来看),你在完成上述任务的时候你就会体会到很多命令不知道,这时候你可以通过相关书籍来完成这一系列命令的学习~

PHP基础知识:

可能有些同学会问是先学php还是html等等这些问题,这里给大家介绍一下一个常见的网站的构成:
前端:也就是你能看到的,这一部分由html、css和js组成
后端:也就是你看不到的,常见的后端有php、java、python
数据库:mysql、mssql等等
看了这么多语言可能很多同学就开始懵逼了,这里入门的话建议学习PHP,几个原因,php在很多年前就有安全人员开始分析,成熟的文章很多,方便入门,其次php算比较简单的语言容易入门。

学习方法建议以目标(/项目/任务)形式的学习,比如最近学习了一下如何进行sql注入,你就可以以写一个sql注入页面的demo为目标来学习期间可能要掌握的知识~ 这时候你就会发现你想写一个登陆页面,你的html知识欠缺,后端php数据又不知道什么传递,怎么进行数据库查库操作等等一系列问题,反正你已经学会自己解决问题了,这些当然多肝一肝就成功了~ 然后发到博客还能秀一波~

学完php不知道干啥的小伙伴,可以尝试完成开发下列任务,并思考可能会有什么漏洞,怎么进行漏洞利用,怎么样写更安全:

  1. 登陆页
  2. 密码找回页
  3. 留言板
  4. 文件上传页

HTML基础

个人觉得掌握常用的标签,学习HTML是如何与PHP来交互的(如:发送post/get表单的demo,文件上传的demo),其他的东西建议有需求的时候再来学。

比如,可能你觉得页面太丑了,这时候你可以学一下如何使用css,再比如你觉得页面不够炫酷,可以学一点Javascript~

HTTP请求流程

学习HTTP请求的每个参数的作用,并使用burpsuite对HTTP(s)请求进行拦截,并分析每一行的功能,完成下列题目:
Get/Post:
Referer:
User-agent:
X-Forward-for:
等等~

一些散知识

  • 学会查看源码,完成题目:
  • 学会修改hosts,完成题目:
  • 学会使用御剑等工具进行目录扫描:
  • 学会使用菜刀:
  • 学会使用Nmap等其他工具进行端口扫描:
  • 学会子域名收集

等等~

kali

搭建好虚拟机kali之后,可以试着学习一些断网攻击之类的~
推荐:https://www.ichunqiu.com/course/1353

一些工具的使用

  1. Brupsuite神器
    环境配置、各个模块的使用方法,并完成下列题目:

Proxy:
Repeater:
Intruder:

更多模块等待你的发现:BrupSuite 实战指南

  1. 端口扫描神器:Nmap
  2. 目录扫描:御剑
  3. 虚拟机:Vmware Workstation(推荐) / Virtual Box
    等等~

Python基础

有时候做题可能上述工具满足不了你的需求,这时候就可以用Python来量身定制你自己的武器~

这里列举几种使用python的常见场景:

  • 爬取*网站上的全部视频,塞满你的硬盘(手动滑稽)
  • 编写漏洞验证脚本(POC)
  • 编写自动化漏洞利用脚本(Exploit)

常见的漏洞类型

怎么学?

这么多漏洞类型,怎么学? 不要慌,这是你未来几年需要掌握的漏洞类型~

学习过程中最重要的是对原理的理解(Know it, then hack it),技术手段每天都更新,但原理是相通的.

我以"SQL注入"为例,讲下我个人学习的一般思路.

  1. 目标: 掌握SQL注入漏洞
  2. 收集相关资料(书籍,博客,paper等几乎所有能找到的),找出掌握该漏洞需要得基础知识

    • PHP环境搭建
    • Mysql数据库
    • SQL语言
    • PHP编程
    • PHP + MYSQL程序设计
  3. 掌握上面的基础之后(你可能又需要看几本书),自己写出漏洞demo
  4. 利用漏洞demo分析漏洞产生的原理
  5. 熟悉该漏洞的各种利用

    • 联合查询
    • 报错注入

      • 有哪些报错函数?原理分别是什么?
    • 布尔盲注/延时盲注

      • 区别是什么?分别在什么情况下使用?
    • 写webshell

      • webshell是什么?
      • 什么情况下能写shell?
    • 数据外带 ☆☆

      • 为什么要数据外带?
      • DNS又是什么鬼?
    • 有哪些现成的利用工具?

      • sqlmap => 熟练使用
    • 如何用python编写注入脚本?

      • python编程基础
      • 所涉及的requests,re等模块的使用

        • 正则表达式以及往下的无限延伸

"熟悉"的定义是我能随手写出各种注入的payload并且知道自己每一步在干嘛以及为什么要这样做.

  1. 常见防御情况下的绕过及各种trips,建议从各种CTF题里找案例来刷

    • 怎么找题? => google,github

      • 没法翻墙上google? => 学习vps下ss代理搭建

        • linux不会用? => 学习linux下的各种操作
      • 不会用github? => 学习github的使用
      • 什么还有docker这种搭环境的神器? => 学习docker的使用
      • 以及往下的无限延伸...
    • 我能否总结出比网上更全的技巧?
  2. 学习如何防御SQL注入

    • 黑名单过滤
    • PDO查询
    • 上述措施的代码实现
  3. 写出自己的学习总结/笔记(分享到博客会显得你很geek)
  4. 目标达成: 掌握SQL注入漏洞,在CTF比赛中不会畏惧这类题型,并且有信心解决它.

我比较推荐这种"蔓延式"的学习,这样你就永远不会不知道自己该学什么了任何一个点都可以往下延伸出一个面

0x03 其他的一些好玩的东

  1. 钓鱼wifi
  2. badusb
  3. *摄像头
  4. *路由器
  5. 流量嗅探(可以捕捉你室友在看什么*电影)

0x04 一些资源

  1. 各类漏洞概览:Web Hacking 101
  2. 上万个漏洞案例:乌云
  3. CTF练习平台:D0g3 CTFBugku
  4. 网络安全导航:https://www.shentoushi.top/

未完待续,如有疑问或建议请留言或在群内提问

Last modification:September 26th, 2018 at 11:12 pm
If you think my article is useful to you, please feel free to appreciate

Leave a Comment