想学习Web安全,如何入门?

一.开始前的思考

1.我真的喜欢搞安全吗?
2.我想通过安全赚钱钱?
3.我不知道做什么就是随便?
4.一辈子做安全吗

这些不想清楚会对你以后的发展很不利,与其盲目的学习web安全,不如先做一个长远的计划。否则在我看来都是浪费时间。

一. 首先你得了解Web

Web分为好几层,一图胜千言:

事实是这样的:如果你不了解这些研究对象是不可能搞好安全研究的。

这样看来,Web有八层(如果把浏览器也算进去,就九层!每层都有几十种主流组件!!!)这该怎么办?

一法通则万法通,这是横向的层,纵向就是数据流!搞定好数据流:从横向的层,从上到下→从下到上,认真看看这些数据在每个层是怎么个处理的。

二,零基础web安全学习计划

2.1 HTTP协议请求 (TIME: 一周)

对以下下知识点做了解学习http协议请求 http状态码              post / get 区别

可以使用Chrome浏览器中F12查看“Network”标签中的HTTP请求响应,来了解HTTP协议请求.

2.2.危险的HTTP头参数 (TIME: 一周)

HTTP请求时需对一些必要的参数做一些了解,这些参数也会造成很严重的安全安全问题如下:

user_agent
X-Forwarded-For
Referer
clien_ip
Cookie      

2.3 专业术语 (TIME: 一天)

了解如下专业术语的意思

  • webshell
  • 菜刀
  • 0day
  • SQL注入
  • 上传漏洞
  • XSS
  • CSRF
  • 一句话木马

【一>所有资源获取<一】
1、网络安全学习路线
2、电子书籍(白帽子)
3、安全大厂内部视频
4、100份src文档
5、常见安全面试题
6、ctf大赛经典题目解析
7、全套工具包
8、应急响应笔记

2.4 专业黑客工具使用 (TIME: 10天)

熟悉如何渗透测试安全工具,掌握这些工具能大大提高你在工作的中的效率。

sqlmap
Burpsuite
nmap
w3af
nessus
Appscan
AWVS

4.脚本语言+代码审计入门 (TIME: 10天)

推荐php不用学的太灵通,我们又不是搞开发,了解基本语法和一些危险函数即可如:open exec 等函数会造成什么漏洞,了解了php中的危险函数会造成那些漏洞可举一反三套用到别的脚本当中 asp aspx java这些语言的危险函数可能只是写法不一样功能是相同的,了解这些后就可以来做一些web漏洞的代码审计了.

php入门学习
php代码审计

5.Sql注射 (TIME: 3天)

** 零基础就先用最有效的办法注入推荐注入工具 sqlmap如何使用?**

如果你不想只停留在使用工具的层面,那么你需要学习一下数据库,mysql sqlserver 随便先学一个前期学会 selsct 就行,php尝试自己写一个查询数据库的脚本来了解手工sql注入的原理,这样进步会很快,如果想深入可以把各种数据库注入都温习一边。关于需要掌握的技术点:

1\. 数字型注入
2.字符型注入
3.搜索注入
4.盲注(sleep注入)
5.sqlmap使用
6.宽字节注入
mysql入门
Sqlmap
sleep原理
盲注sleep函数执行sql注入攻击

6.CSRF 跨站点请求 (TIME: 3天)

为什么会造成csrf,GET型与POST型CSRF 的区别, 如何防御使用 token防止 csrf?

7.XSS (TIME: 7天)

要研究xss首先了解同源策略 ,Javascript 也要好好学习一下 ,以及html实体 html实体的10 或16进制还有javascript 的8进制和16进制编码,

xss
进制编码
同源策略

8.文件上传漏洞 (TIME: 7天)

了解下开源编辑器上传都有那些漏洞,如何绕过系统检测上传一句话木马
上传绕过

9 php-远程/本地 文件包含 (TIME: 10天)

去学习下 include() include_once() require() require_once() fopen() readfile()这些php函数是如何产生文件包含漏洞, 本地包含与远程包含的区别。
以及利用文件包含时的一些技巧如:截断 /伪url/超长字符截断 等 。

10 php-命令执行 (TIME: 3天)

PHP代码中常见的代码执行函数有:

eval(), assert(), preg_replace(), call_user_func(), call_user_func_array(),create_function(), array_map()等。
了解这些函数的作用然后些搞清楚如何造成的代码执行漏洞。

12 ssrf (TIME: 3天)

1\了解ssrf的原理,以及ssrf的危害。
2\ssrf能做什么。

当我们在进行web渗透的时候是无法访问目标的内部网络的,那么这个时候就用到了ssrf漏洞,利用外网存在ssrf的web站点可以获取如下信息。

1.可以对外网、服务器所在内网、本地进行端口扫描,获取一些服务的banner信息;

2.攻击运行在内网或本地的应用程序(比如溢出);

3.对内网web应用进行指纹识别,通过访问默认文件实现;

4.攻击内外网的web应用,主要是使用get参数就可以实现的攻击(比如struts2,sqli等);

5.利用file协议读取本地文件等。

13 逻辑漏洞 (TIME: 7天)

常见的逻辑漏洞一般都会在如下地方出现

1.订金额任意修改--购物站经常出现
2.验证码回传
3.越权操作,其主要原因是没对ID参数做cookie验证导致。
4.找回密码存在设计缺陷
5.接口无限制枚举

14 xee(XML外部实体注入) (TIME: 5天)

当允许xml引入外部实体时,通过构造恶意内容,可以导致文件读取、命令执行、内网探测等危害

15 XPath注入 (TIME: 5天)

path注入攻击本质上和SQL注入攻击是类似的,都是输入一些恶意的查询等代码字符串,从而对网站进行攻击

16 服务器解析漏洞

Iis 解析漏洞
nginx 解析漏洞
tomcat 后台上传漏洞
jboss 上传漏洞

如果上述漏洞原理掌握的都差不多那么你就可以去找个工作实践一下了.

# 加分项目-渗透信息搜集 (TIME: 15天)#

子域名搜集 利用DNS域名传送漏洞搜集二级域名

Liunx测试命令如下:

Dns服务器 1.1.1.1  测试域名http://wooyun.org
dig @1.1.1.1 http://sechook.org axfr
nmap --script dns-zone-transfer --script-args dns-zone-transfer.domain=http://wooyun.org -p 53 -Pn 1.1.1

实例查询苏宁DNS服务器

D:\deep>nslookup
默认服务器:  localhost
Address:  10.11.0.1
> set type=ns
> http://suning.com
服务器:  localhost
Address:  10.11.0.1
非权威应答:
http://suning.com      nameserver = http://lns1.zdnscloud.info
http://suning.com      nameserver = http://gns2.zdnscloud.net.cn
http://suning.com      nameserver = lns2.zdnscloud.biz
http://suning.com      nameserver = http://gns1.zdnscloud.net
>

查询苏宁 IP

C:\Users\jack>nslookup http://suning.com
服务器:  localhost
Address:  10.11.0.1
非权威应答:
名称:    http://suning.xdwscache.ourwebcdn.com
Addresses: 203.130.60.48   //对应ip203.130.60.49  //对应ip203.130.60.50  //对应ip
Aliases:  http://suning.com
http://Suning.com.wscdns.com //别名

在线二级域名爆破网站

https://dnsdumpster.com/
Netcraft - Search Web by Domain

工具获取二级域名

渗透测试中常用的在线工具--SecWiki 专题  参考链接
subDomainsBrute
wydomain
theHarvester.py
Fierce
Dig
knock
dnsspider
SubDomainscollect
SubBrute
dirfuzz

使用格式:

     fierce  -dns http://baidu.com -threads 3subDomainsBrute.py http://suning.compython theHarvester.py -d http://suning.com -l 500 -b baidu -v 国内百度找的多python theHarvester.py -d 公司名 -l 500 -b baidu -v python theHarvester.py -d http://suning.com -l 500 -b google -v国外站google多python theHarvester.py -d school -l 1000 -b all   all使用所有的搜索引擎进行搜索

subDomainsBrute使用需要安装依赖支持

     报错信息:ImportError: No module named dns.resolver需要安装的库是 dnspythonpip install dnspython没有pip的话, 可以用到https://github.com/rthalley/dnspython.git 下载cd dnspythonpython setup.py install

搜索引擎 Google新经验:

+ 把google可能忽略的字列如查询范围
- 把某个字忽略
~ 同意词
. 单一的通配符
* 通配符,可代表多个字母
"" 精确查询

代码托管泄漏信息搜索

Google:

http://andy-game.googlecode.com/svn-history/
Gitbub:   https://github.com/search?utf8=%E2%9C%93&amp;q=%E5%A4%96%E7%BD%91+%E8%B1%86%E7%93%A3&amp;type=Code&amp;ref=searchresults

邮箱搜集

Metasploit邮箱搜集链接
http://xiao106347.blog.163.com/blog/static/215992078201311300162776/

ip反查域名

http://dns.aizhan.com/58.240.86.229/

二级兄弟域名搜集

查询邮件服务器信息
目标IP地址范围搜集
利用代码托管网站搜集目标信息

确定ip 地址范围

扫描c段
获取cdn真实ip地址
社会工程学

三、整理笔记

这个我觉得最重要,这是一个好习惯 可以让我们重新把学习的技术做一个总结和巩固。在总结的过程形成自己对技术的理解与创新。从而让书本上的知识变成自己的东西。

如果你考虑好了参照我的计划进行学习,我不敢保证你实践完多牛逼,但是找工作绝对不成问题。

零基础想学习Web安全,如何入门?相关推荐

  1. java webpack web项目_零基础如何学习web前端,入门教程分享

    前端作为互联网时代直接触达用户的窗口,大到我们每天浏览到的网站,小到一次点击按钮的页面,前端无处不在.并且在产品的众多开发环节之中,最能让用户直观感受到的就是前端开发.因而前端行业的广阔发展前景也吸引 ...

  2. 零基础怎么学习web前端开发

    零基础怎么学习web前端开发?web前端在移动互联网行业的运用是非常广泛的,而且web前端开发技术所涵盖的知识有很多,具体要怎么学习,来看看小编下面的详细介绍吧. 零基础怎么学习web前端开发?对零基 ...

  3. Uniapp零基础开发学习笔记(5) -组件入门及容器组件使用

    Uniapp零基础开发学习笔记(5) -组件入门及容器组件使用 按照官网教程学习使用组件,并且重点把容器组件的应用进行了练习. 1.官网关于组件的介绍 组件是视图层的基本组成单元,是一个单独且可复用的 ...

  4. 零基础转行学习web前端有哪些优势呢?

    随着移动互联网的快速发展,近两年市场对于Web前端人才需求呈井喷式增长,目前市场上对于Web前端人员的需求非常之多,给出的薪资也很可观,那么Web前端有什么优势?下面小编带大家来看看. 在学习过程中有 ...

  5. 零基础想学习插画?入门从这里开始

    零基础怎么学插画?插画应该怎么画?很多小伙伴在学习插画的时候都会遇到各种问题今天广州美术集网校小编带大家了解一下插画如何学习: 首先,想要学习插画,就要先带同学们了解一下,学习插画之前要把哪些功底打扎 ...

  6. 零基础想学编程该如何入门?

    很多零基础的小白想入门编程,但是无奈于编程语言太多,不知道应该从哪里开始入门比较合适.介绍几个主流的编程语言,希望对你有所帮助. 1.Java(排名第⼀) Java功能强⼤,简单易⽤.具有简单性.⾯向 ...

  7. 零基础如何学习 Web 安全?

    Web安全不仅是互联网的核心,而且还是云计算和移动互联网的最佳载体.对于信息安全从业者而言,Web安全是一个非常重要的研究课题之一. Web应用是指采用B/S架构.通过HTTP/HTTPS协议提供服务 ...

  8. python零基础怎么学-零基础如何学习Python?老男孩Python入门培训

    现在越来越多的人想要学习Python课程,在学习Python的过程中不少人都会关注学习Python难吗?今天老男孩IT教育小编就为大家详细的解读一下吧. 0基础学习Python语言可以吗?首先个人认为 ...

  9. 零基础如何学习Web 安全,如何让普通人快速入门网络安全?

    福利:[网络安全重磅福利:入门&进阶全套282G学习资源包免费分享 !] 网络安全现在是朝阳行业,缺口是很大.不过网络安全行业就是需要技术很多的人达不到企业要求才导致人才缺口大 初级的现在有很 ...

最新文章

  1. python字典存储省份与城市_在Python中存储字典路径
  2. 祝天下所有父亲节日快乐
  3. 有关 Session 操作的几个误区
  4. 深入浅出学Hive:Hive高级编程
  5. winscp使用密钥登录远程linux系统
  6. glup打包代码不更新
  7. 利用Vivado封装DCP文件基本流程
  8. linux开启hadoop服务,Hadoop 2.7.4 关闭与启动
  9. 女孩子偷偷学好软件测试,想要年薪30w也没有很难!
  10. 剑指offer例题分享--7
  11. MySQL约束和表的复杂查询操作
  12. matlab 条件方程组的解,solve 时解方程组的限制条件问题
  13. element的事件想要传输额外的参数
  14. 消除笔哪个p图软件有?快把这些软件收好
  15. Docker网络配置
  16. IDC机房ESXi5.0误删除虚拟机的数据恢复过程
  17. 理一理COM、OLE、ActiveX~~
  18. 在Turnkey Redmine虚拟机上配置Git和Gitolite
  19. 无root手机版抓android包工具,超好用
  20. 7.5路由器与交换机的故障恢复

热门文章

  1. vue中,静态书写select的option选项时如何设置默认选中项
  2. DB-Engines 2017年9月数据库排名发布
  3. 如何改变pycharm的背景颜色
  4. 微信小程序实现轮播图(超简单)
  5. C4996:'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead.
  6. h5活动是什么意思_h5是什么(H5和Html5是一个东西吗)
  7. 数据埋点是什么?设置数据埋点的意义?
  8. linux原子过程,linux系统编程:IO读写过程的原子性操作实验
  9. 国外有什么好的网站推荐?
  10. 离散学习--笛卡尔积