共计 4243 个字符,预计需要花费 11 分钟才能阅读完成。
开始前的思考
- 我真的喜爱搞平安吗?
- 我想通过平安赚钱钱?
- 我不晓得做什么就是轻易?
- 一辈子做平安吗?
\
这些不想分明会对你当前的倒退很不利,与其自觉的学习 web 平安,不如先做一个久远的打算。否则在我看来都是浪费时间。
【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
- 一句话木马
2.4 业余黑客工具应用 (TIME: 10 天)
相熟如何浸透测试平安工具,把握这些工具能大大提高你在工作的中的效率。
sqlmap
Burpsuite
nmap
w3af
nessus
Appscan
AWVS
2.5 脚本语言+代码审计入门 (TIME: 10 天)
举荐 php 不必学的太灵通,咱们又不是搞开发,理解根本语法和一些危险函数即可如:open exec 等函数会造成什么破绽, 理解了 php 中的危险函数会造成那些破绽可触类旁通套用到别的脚本当中 asp aspx java 这些语言的危险函数可能只是写法不一样性能是雷同的, 理解这些后就能够来做一些 web 破绽的代码审计了.
php 入门学习
php 代码审计
2.6 Sql 注射 (TIME: 3 天)
零根底就先用最无效的方法注入举荐注入工具 sqlmap 如何应用?
如果你不想只停留在应用工具的层面,那么你须要学习一下数据库,mysql sqlserver 轻易先学一个后期学会 selsct 就行,php 尝试本人写一个查询数据库的脚本来理解手工 sql 注入的原理,这样提高会很快, 如果想深刻能够把各种数据库注入都复习一边。对于须要把握的技术点:
1. 数字型注入
2. 字符型注入
3. 搜寻注入
4. 盲注(sleep 注入)
5.sqlmap 应用
6. 宽字节注入
mysql 入门
Sqlmap
sleep 原理
盲注 sleep 函数执行 sql 注入攻打
【Web 平安学习路线 & 材料】
2.7 CSRF 跨站点申请 (TIME: 3 天)
为什么会造成 csrf,GET 型与 POST 型 CSRF 的区别, 如何进攻应用 token 避免 csrf?
2.8 XSS (TIME: 7 天)
要钻研 xss 首先理解同源策略,Javascript 也要好好学习一下,以及 html 实体 html 实体的 10 或 16 进制还有 javascript 的 8 进制和 16 进制编码,
xss
进制编码
同源策略
2.9 文件上传破绽 (TIME: 7 天)
理解下开源编辑器上传都有那些破绽,如何绕过零碎检测上传一句话木马
上传绕过
2.10 php- 近程 / 本地 文件蕴含 (TIME: 10 天)
去学习下 include() include_once() require() require_once() fopen() readfile()
这些 php 函数是如何产生文件蕴含破绽, 本地蕴含与近程蕴含的区别。
以及利用文件蕴含时的一些技巧如:截断 / 伪 url/ 超长字符截断 等。
2.11 php- 命令执行 (TIME: 3 天)
PHP 代码中常见的代码执行函数有:
eval(), assert(), preg_replace(), call_user_func(), call_user_func_array(),create_function(), array_map()
等。
理解这些函数的作用而后些搞清楚如何造成的代码执行破绽。
2.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 协定读取本地文件等。
2.13 逻辑破绽 (TIME: 7 天)
常见的逻辑破绽个别都会在如下中央呈现
1. 订金额任意批改--购物站经常出现 2. 验证码回传 3. 越权操作,其次要起因是没对 ID 参数做 cookie 验证导致。4. 找回明码存在设计缺点 5. 接口无限度枚举
2.14 xee(XML 内部实体注入)(TIME: 5 天)
当容许 xml 引入内部实体时,通过结构歹意内容,能够导致文件读取、命令执行、内网探测等危害
2.15 XPath 注入 (TIME: 5 天)
path 注入攻打实质上和 SQL 注入攻打是相似的,都是输出一些歹意的查问等代码字符串,从而对网站进行攻打
2.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 // 对应 ip
203.130.60.49 // 对应 ip
203.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 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
ip 反查域名
http://dns.aizhan.com
二级兄弟域名收集
查问邮件服务器信息
指标 IP 地址范畴收集
利用代码托管网站收集指标信息
确定 ip 地址范畴
扫描 c 段
获取 cdn 实在 ip 地址
社会工程学
【Web 平安学习路线 & 材料】
整顿笔记
这个我感觉最重要,这是一个好习惯 能够让咱们从新把学习的技术做一个总结和坚固。在总结的过程造成本人对技术的了解与翻新。从而让书本上的常识变成本人的货色。