自己最近原本是想深入的学习一下关于xss、csrf的东西的,可是感觉这些东西需要有很好的js的基础来进行学习。。还有感觉自己感觉也差不多该要学习内网渗透了。。正好ssrf在内网这一块也是比较有用的。于是现在学习一下。

我这里面是以php里面的curl为例子来学习的。

漏洞代码如下

<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $_GET['url']);
#curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
#curl_setopt($ch, CURLOPT_PROTOCOLS, CURLPROTO_HTTP | CURLPROTO_HTTPS);
curl_exec($ch);
curl_close($ch);
?>//这段代码直接将get请求中的url直接放在里面,并且没有屏蔽回显。

一般这种请求都需要使用libcurl库。

我们看一下curl支持地协议(curl -V).

我们看到确实支持很多的协议,首先我们看一下file协议,他是一个读取任意文件的协议,又因为这里面没有关闭回显,所以我们直接在浏览器中访问  http://xxxx/ssrf.php?url=file:///etc/passwd

                                      

我这边已经成功地读取到了,相应的只要你有其他的文件的路径,当然也可以读取(当然如何屏蔽了回显,就没多大的用处了)。

接下来就是很多前辈一直说的gopher协议了,因为这个协议可以伪造各种http请求,所以经常被用于ssrf中(访问一些内网中脆弱的web应用等等)。

这个协议利用起来也是比较麻烦的QAQ。。一般是需要抓取流量包,然后再根据流量包来进行exp的构造。

这个的话我推荐二篇博客吧:https://joychou.org/web/phpssrf.html          https://www.cnblogs.com/p0pl4r/p/10336501.html

大佬们都已经讲的很好了,我就不瞎掺和了2333

dict协议,这个协议是一个字典服务器协议,通常用于让客户端使用过程中能够访问更多的字典源,但是在SSRF中如果可以使用dict协议那么就可以轻易的获取目标服务器端口上运行的服务版本等信息。

例如访问:http://xxxx/ssrf.php?url=dict://10.0.0.9:22(ssh端口)/info     就可以获取到ssh相关的信息

                                            

同理的,关于其他的端口信息,我们都可以通过这种方式来进行收集。

当然对于ssrf  in PHP来说还是不只curl这一个能引起漏洞,其他的例如 file_get_contents和fsockopen等等

ssrf漏洞学习(PHP)的更多相关文章

  1. SSRF漏洞学习

    SSRF SSRF(Server-Side Request Forgery:服务器端请求伪造) 是一种由攻击者构造形成由服务端发起请求的一个安全漏洞.一般情况下,SSRF攻击的目标是从外网无法访问的内 ...

  2. 实战篇丨聊一聊SSRF漏洞的挖掘思路与技巧

    在刚结束的互联网安全城市巡回赛中,R师傅凭借丰富的挖洞经验,实现了8家SRC大满贯,获得了第一名的好成绩!R师傅结合自身经验并期许新手小白要多了解各种安全漏洞,并应用到实际操作中,从而丰富自己的挖洞经 ...

  3. SSRF——漏洞利用(二)

    0x01 概述 上篇讲述了SSRF的一般用法,用http协议来进行内网探测,攻击内网redis,接下来讨论的是SSRF的拓展用法,通过,file,gopher,dict协议对SSRF漏洞进行利用. 0 ...

  4. SSRF漏洞的挖掘思路与技巧

    什么是SSRF? SSRF(Server-Side Request Forgery:服务器端请求伪造) 是一种由攻击者构造形成由服务端发起请求的一个安全漏洞.一般情况下,SSRF攻击的目标是从外网无法 ...

  5. [web安全原理分析]-SSRF漏洞入门

    SSRF漏洞 SSRF漏洞 SSRF意为服务端请求伪造(Server-Side Request Forge).攻击者利用SSRF漏洞通过服务器发起伪造请求,就这样可以访问内网的数据,进行内网信息探测或 ...

  6. Gopher协议在SSRF漏洞中的深入研究

    如果需要大佬写好的脚本,可以直接去github上面搜 参考文章:https://zhuanlan.zhihu.com/p/112055947 https://www.cnblogs.com/Konmu ...

  7. SSRF深入学习

    爆出来的直接关于SSRF的漏洞有俩,①是weblogic,②是discuzz SSRF漏洞最主要的部分并不是SSRF 探测内网,而是可以写shell,反弹shell,虽然很多厂家把它归为低危漏洞,仔细 ...

  8. SSRF漏洞用到的其他协议(dict协议,file协议)

    0x00 引言 当SSRF打内网reids时,若gopher协议用不了,我们也可以用其他协议 0x01 dict协议一.定义:词典网络协议,在RFC 2009中进行描述.它的目标是超越Webster ...

  9. WebLogic SSRF 漏洞 (简要翻译)

    [Ref]http://blog.gdssecurity.com/labs/2015/3/30/weblogic-ssrf-and-xss-cve-2014-4241-cve-2014-4210-cv ...

随机推荐

  1. 浅谈contentType = false

    转自https://segmentfault.com/a/1190000007207128 在刚接触 JQuery 中的 ajax 时,对其 contentType 并没有很在意,只是知晓它是代表发送 ...

  2. 5分钟理解 SpringBoot 响应式的核心-Reactor

    目录 一.前言 二. Mono 与 Flux 构造器 三. 流计算 1. 缓冲 2. 过滤/提取 3. 转换 4. 合并 5. 合流 6. 累积 四.异常处理 五.线程调度 小结 参考阅读 一.前言 ...

  3. C++ lambda的演化

    翻译自https://www.bfilipek.com/2019/02/lambdas-story-part1.html与https://www.bfilipek.com/2019/02/lambda ...

  4. Redis压缩包win10快速启动之记录一

    转载请标明出处: http://dujinyang.blog.csdn.net/ 本文出自:[奥特曼超人的博客] Redis压缩包 配置环境变量,直接CMD中启动,默认是打开redis.conf,当然 ...

  5. Kubernetes监控实践

    一.Kubernetes介绍 Kubernetes(K8s)是一个开源平台,能够有效简化应用管理.应用部署和应用扩展环节的手动操作流程,让用户更加灵活地部署管理云端应用. 作为可扩展的容错平台,K8s ...

  6. spring boot的多环境部署

    需求:不同的环境有不同的开关属性,比如开发系统,需要关闭短信,微信的通知功能.而演示环境,线上环境则需要打开这些配置. 那么,如何做到呢?--->在properties.application配 ...

  7. 关于样式style

    今天看到了一个bgcolor和以前看过的background-color,特意查了一下区别 百度是这么说的:background-color是标准CSS属性,bgcolor应该是IE扩展的html元素 ...

  8. POA理论:不要被你的目标欺骗了你

    ![](https://img2018.cnblogs.com/blog/330316/201909/330316-20190922210844977-255725510.jpg) 最近通过<跃 ...

  9. 使用Consul做leader选举的方案

    在分布式集群部署模式下,为了维护数据一致性,通常需要选举出一个leader来进行协调,并且在leader挂掉后能从集群中选举出一个新的leader.选举leader的方案有很多种,对Paxos和Raf ...

  10. Channel使用技巧

    前言 Go协程一般使用channel(通道)通信从而协调/同步他们的工作.合理利用Go协程和channel能帮助我们大大提高程序的性能.本文将介绍一些使用channel的场景及技巧 场景一,使用cha ...