课程讲的很细节,很多工具的小操作、小概念也讲的比较细,正好自己有些不太熟,方便复现了
NAT网络地址转换及SSRF漏洞原理
SSRF:服务端请求伪造
攻击目标:外网无法访问的内网系统
服务端提供了从其他服务器获取数据的功能,且没有对目的地址做过滤或限制
一开始讲解内外网的IP转换,听的懵,不过后来做实验比较清晰
站点快照,获取baidu robots(https://www.baidu.com/robots.txt) ,获取172网段下服务器内容
伪协议
file协议
利用file获取本地文件
内网端口扫描,获取服务banner信息
banner 信息来表示欢迎语,其中会包含一些敏感信息,所以获取 banner 也属于信息搜集的范畴。在渗透测试中,典型的 4xx、5xx 信息泄露就属于 banner 泄露的一种。在 banner 信息中,可以获取到软件开发商、软件名称、服务类型、版本号等。而版本号有时候就会存在公开的 CVE 问题,可以直接进行利用。
攻击内网应用程序,主要演示GET请求
file文件协议下访问路径:file:/// (/作为根目录
etc/passwd 输出用户
etc/hosts 判断网段
proc/net/arp arp缓存表,寻找内网其他主机
发现不全,于是先内网访问/探测,不关心对方是否存在HTTP服务,而是先用arp探测(可以直接用抓包,在SSRF页面下,将探测的url地址中最后一位设置为1-254的范围)
- proc/net/fib_trie 显示当前网段的路由信息
至此,实现了内网的存活主机探测
dict伪协议
dict字典协议,获取字典资源
实现,内网下端口扫描、获取内网信息、爆破密码
length判断
ftp扫描也能用,但耗费时间长
HTTP协议
实现目录扫描
最后扫出了name 文件包含 shell 命令执行 phpinfo 探针
Gopher
发起get、post提交
1 | curl gopher://127.0.0.1/123 |
gopher请求不发送第一个字符,因此,第一位作为填充位,比如下划线
code exec 172.250.250.4 name.php
绕过技巧 & SSRF漏洞利用
环回地址
127.0.0.1转换为十六进制、八进制二进制等,前面加上进制标志
SSRF过滤的其他几个页面没有讲,以后搜索
302
ip!
Warning: file_get_contents(http://121.43.53.23/index.php): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in /var/www/html/6.php on line 58
没搞懂,没法复现,先跳过,应该就是访问公网ip的话,设置会302跳转
DNS重绑定攻击
短链接,URL变形,畸形URL,iframe攻击
两次DNS解析:对URL的host解析,使用curl发包解析;利用两次的时间差绕过,在这期间,更改域名对应的ip,实现突破同源策略或waf实现ssrf
GET和POST命令执行
后面拼接
render中没有结果
XXE漏洞
构造username和password的xml格式实现登录
实体引入/etc/passwd 打印
SQL
hackbar 两次编码
前端直接提交会进行一次url编码
空格换成%20
数据库/Redis实战攻击
mysql未授权查询
mysql未授权写入
tomcat文件写入,PUTtomcat通过PUT方法任意文件写入(CVE-2017-12615)漏洞复现 - Junglezt - 博客园
redis未授权webshell
redis未授权公钥写入
redis未授权计划任务
后面讲解不细致,只是告诉了你可以怎样操作一遍