想学习 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-ForRefererclien_ipCookie
复制代码
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.orgdig @1.1.1.1 http://sechook.org axfrnmap --script dns-zone-transfer --script-args dns-zone-transfer.domain=http://wooyun.org -p 53 -Pn 1.1.1
复制代码
实例查询苏宁 DNS 服务器
D:\deep>nslookup默认服务器: localhostAddress: 10.11.0.1> set type=ns> http://suning.com服务器: localhostAddress: 10.11.0.1非权威应答:http://suning.com nameserver = http://lns1.zdnscloud.infohttp://suning.com nameserver = http://gns2.zdnscloud.net.cnhttp://suning.com nameserver = lns2.zdnscloud.bizhttp://suning.com nameserver = http://gns1.zdnscloud.net>
复制代码
查询苏宁 IP
C:\Users\jack>nslookup http://suning.com服务器: localhostAddress: 10.11.0.1非权威应答:名称: http://suning.xdwscache.ourwebcdn.comAddresses: 203.130.60.48 //对应ip 203.130.60.49 //对应ip 203.130.60.50 //对应ipAliases: http://suning.comhttp://Suning.com.wscdns.com //别名
复制代码
在线二级域名爆破网站
https://dnsdumpster.com/Netcraft - Search Web by Domain
复制代码
工具获取二级域名
渗透测试中常用的在线工具--SecWiki 专题 参考链接subDomainsBrutewydomain theHarvester.py FierceDigknockdnsspiderSubDomainscollectSubBrutedirfuzz
复制代码
使用格式:
fierce -dns http://baidu.com -threads 3 subDomainsBrute.py http://suning.com python 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 需要安装的库是 dnspython pip install dnspython 没有pip的话, 可以用 到https://github.com/rthalley/dnspython.git 下载 cd dnspython python setup.py install
复制代码
搜索引擎 Google 新经验:
+ 把google可能忽略的字列如查询范围 - 把某个字忽略~ 同意词. 单一的通配符* 通配符,可代表多个字母"" 精确查询
复制代码
代码托管泄漏信息搜索
Google:
http://andy-game.googlecode.com/svn-history/Gitbub: https://github.com/search?utf8=%E2%9C%93&q=%E5%A4%96%E7%BD%91+%E8%B1%86%E7%93%A3&type=Code&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地址社会工程学
复制代码
三、整理笔记
这个我觉得最重要,这是一个好习惯 可以让我们重新把学习的技术做一个总结和巩固。在总结的过程形成自己对技术的理解与创新。从而让书本上的知识变成自己的东西。
最后
为了帮助大家更好的学习网络安全,小编给大家准备了一份网络安全入门/进阶学习资料,里面的内容都是适合零基础小白的笔记和资料,不懂编程也能听懂、看懂,所有资料共282G,朋友们如果有需要全套网络安全入门+进阶学习资源包,可以点击免费领取(如遇扫码问题,可以在评论区留言领取哦)~
😝有需要的小伙伴,可以点击下方链接免费领取或者V扫描下方二维码免费领取🆓
1️⃣零基础入门
① 学习路线
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
② 路线对应学习视频
同时每个成长路线对应的板块都有配套的视频提供:
因篇幅有限,仅展示部分资料
2️⃣视频配套资料&国内外网安书籍、文档
① 文档和书籍资料
② 黑客技术
因篇幅有限,仅展示部分资料
3️⃣网络安全源码合集+工具包
4️⃣网络安全面试题
5️⃣汇总
所有资料 ⚡️ ,朋友们如果有需要全套 《网络安全入门+进阶学习资源包》,扫码获取~