2026/4/18 19:34:46
网站建设
项目流程
烟台制作网站的公司哪家好,wordpress改变友情链接顺序,加盟网站制作定制,做网站造假文章目录SSRF说明:SSRF攻击流程原理#xff1a;危害:SSRF产生的原因ssrf漏洞利用{危害}探测手法是否存在SSRF漏洞如何找ssrf漏洞位置分享连接地址google hack url关键字PHP语言中可能出现的ssrf漏洞函数file\_get\_contentssockopen()curl\_exec()SSRF防御1、过滤返回信息2、统…文章目录SSRF说明:SSRF攻击流程原理危害:SSRF产生的原因ssrf漏洞利用{危害}探测手法是否存在SSRF漏洞如何找ssrf漏洞位置分享连接地址google hack url关键字PHP语言中可能出现的ssrf漏洞函数file\_get\_contentssockopen()curl\_exec()SSRF防御1、过滤返回信息2、统一错误信息3、限制请求的端口为http常用的端口4、防火墙策略5、禁用不需要的协议6、url网址写死SSRF绕过手法1、限制为http://www.xxx.com 域名时利用2.采用短网址绕过也叫做url短链接3.采用进制转换4.利用特殊域名5.利用\[::\]6.利用句号7、CRLF 编码绕过8.利用封闭的字母数字常见限制1.限制为http://www.xxx.com 域名2.限制请求IP不为内网地址3.限制请求只为http协议SSRF说明:CSRF跨站请求伪造客户端请求伪造SSRF(Server-Side Request Forgery:服务器端请求伪造)是一种由攻击者构造形成由服务端发起请求的一个安全漏洞。一般情况下SSRF攻击的目标是从外网无法访问的内部系统。正是因为它是由服务端发起的所以它能够请求到与它相连而与外网隔离的内部系统SSRF攻击流程外网是服务攻击到内网ip是不联网的(服务器)如果含有ssrf漏洞Pyload内网服务器原理SSRF 形成的原因大都是由于服务端提供了从其他服务器应用获取数据的功能__且没有对目标地址做过滤与限制黑客操作服务端从指定URL地址获取网页文本内容加载指定地址的图片下载等等利用的是服务端的请求伪造【SSRF】ssrf是利用存在缺陷的web应用作为代理攻击远程和本地的服务器。外网 - 如果含有ssrf漏洞{中间外网服务器} – pyload - 内网服务器本机 公网 【攻击主机】Win2003 php 公网 lan地址 【外网服务器 商城】Win lan地址 【和外网服务器商城相连接】危害:主要是用来进行内网进行探测也可以说是内网信息收集存货主机和开发端口。基于这一步开展下一步的后渗透行为访问网址是没意义的 我们需要探测内网主机端口开放情况以及存活情况。SSRF产生的原因就是用户提交过来的数据没有做过滤我们就可以改成内网ip地址手动去探测一下这个的前提是我们做好信息收集拿到了真实的IPssrf漏洞利用{危害}可以对外网服务器所在的内网进行__端口扫描_获取一些服务__的banner信息__mysql5.5.53_有时候还可以攻击运行在内网或本地的应用程序; 内网中其它的主机 比如通过ssrf给内网的redis写定时任务实现反弹shell;对内网web应用进行指纹识别;攻击内外网的web应用比如struts2sql注入等;利用file协议读取本地文件等;各种伪协议进行探测http,file,dict,ftp,gopher等 伪协议;探测手法是否存在SSRF漏洞BP攻击器 如果对方开启了ip白名单或者是请求频率限制如何处理?手工探测是非常麻烦勒这个时候我们就可以借助自动化工具去探测比如说BP如何找ssrf漏洞位置各大电商分享地址 这样就是请求地址转发的形式其实这样就是一个服务端的ssrf漏洞探测分享网址的服务端地址 探测服务端服务器。分享连接地址图片、文章收藏功能:此处的图片、文章收藏中的文章收藏_就类似于分享功能中获取URL地址_中title以及文本的内容作为显示目的还是为了更好的用户体验。例如title参数是文章的标题地址代表了一个文章的地址链接请求后返回文章是否保存收藏的返回信息。如果保存收藏功能采用了此种形式保存文章则在没有限制参数的形式下可能存在SSRF。http://title.xxx.com/title?titlehttp://title.xxx.com/as52ps63degoogle hack url关键字从URL关键字中寻找利用google 语法加上这些关键字去寻找SSRF漏洞。Inurl: .php?urlsharewapurllinksrcsourcetargetudisplaysourceURlimageURLdomainPHP语言中可能出现的ssrf漏洞函数代码审计会发现的漏洞 需要看对请求参数是否过滤。file_get_contents下面的代码使用file_get_contents函数从用户指定的url获取图片然后把它用一个随机文件名保存在硬盘上并展示给用户?php if (isset($_POST[url])) { $content file_get_contents($_POST[url]); $filename ./images/.rand().;img1.jpg; file_put_contents($filename, $content); echo $_POST[url]; $img img src\.$filename.\/; } echo $img; ?sockopen()以下代码使用fsockopen函数实现获取用户制定url的数据文件或者html。这个函数会使用socket跟服务器建立tcp连接传输原始数据?php function GetFile($host,$port,$link) { $$fp fsockopen($$host, intval($port), $errno, $errstr, 30); if (!$fp) { echo $errstr (error number $errno) \n; } else { $$out GET $$link HTTP/1.1\r\n; $$out . Host: $$host\r\n; $out . Connection: Close\r\n\r\n; $out . \r\n; fwrite($fp, $out); $contents; while (!feof($fp)) { $$contents. fgets($$fp, 1024); } fclose($fp); return $contents; } } ?curl_exec()cURL这是另一个非常常见的实现它通过 PHP获取数据。文件/数据被下载并存储在“curled”文件夹下的磁盘中并附加了一个随机数和“.txt”文件扩展名?php if (isset($_POST[url])) { $link $_POST[url]; $curlobj curl_init(); curl_setopt($curlobj, CURLOPT_POST, 0); curl_setopt($curlobj,CURLOPT_URL,$link); curl_setopt($curlobj, CURLOPT_RETURNTRANSFER, 1); $resultcurl_exec($curlobj); curl_close($curlobj); $filename ./curled/.rand()..txt; file_put_contents($filename, $result); echo $result; } ?SSRF防御1、过滤返回信息验证远程服务器对请求的响应是比较容易的方法。如果web应用是去获取某一种类型的文件那么在把返回结果展示给用户之前先验证返回的信息是否符合标准。2、统一错误信息避免用户可以根据错误信息来判断远端服务器的端口状态3、限制请求的端口为http常用的端口比如80,443,8080,8090。4、防火墙策略内网ip设置黑名单避免应用被用来获取获取内网数据攻击内网。5、禁用不需要的协议仅仅允许http和https请求可以防止类似于file:///,gopher://,ftp:// 等引起的问题。6、url网址写死固定几个网址其他网址一律不允许访问SSRF绕过手法1、限制为http://www.xxx.com 域名时利用可以尝试采用http基本身份认证的方式绕过如http://www.aaa.comwww.bbb.comwww.ccc.com在对解析域名中不同的处理函数存在处理 差异 在PHP的parse_url中会识别www.ccc.com而libcurl则识别为www.bbb.com。这个要分语言2.采用短网址绕过也叫做url短链接比如百度短地址https://dwz.cn/ 有很多在线网站就能帮我们的网址转换为url短链接形式。原理就是当请求这个短链接的时候url短链接提供商的服务器先解析一下对应的真实url然后拿到实url之后再发起访问这样提交的数据看不到真实url用来绕过后端代码对网址的过滤所以url短链接经常用于攻击行为和钓鱼行为等。黑客更多用这种方法来进行绕过3.采用进制转换127.0.0.1 八进制0177.0.0.1。十六进制0x7f.0.0.1。十进制2130706433.4.利用特殊域名原理是DNS解析。xip.io可以指向任意域名即 127.0.0.1.xip.io可解析为127.0.0.15.利用[::]可以利用[::]来绕过localhosthttp://169.254.169.254http://[::169.254.169.254] # 这种写法是ipv6的地址写法只要对方支持ipv6的ip地址访问就行需要配置才行比如nginx就可以配 置ipv6来访问6.利用句号127。0。0。1 127.0.0.1比如ping 127。0。0。1注意linux系统才能识别windows系统不能识别7、CRLF 编码绕过%0d-0x0d-\r回车 %0a-0x0a-\n换行 进行HTTP头部注入 example.com/?urlhttp://eval.com%0d%0aHOST:fuzz.com%0d%0a8.利用封闭的字母数字利用Enclosed alphanumerics有些输入法直接就可以输入这样的封闭字符ⓔⓧⓐⓜⓟⓛⓔ.ⓒⓞⓜ example.com http://169.254.169.254http://[::①⑥⑨②⑤④⑯⑨②⑤④] List:① ② ③ ④ ⑤ ⑥ ⑦ ⑧ ⑨ ⑩ ⑪ ⑫ ⑬ ⑭ ⑮ ⑯ ⑰ ⑱ ⑲ ⑳⑴ ⑵ ⑶ ⑷ ⑸ ⑹ ⑺ ⑻ ⑼ ⑽ ⑾ ⑿ ⒀ ⒁ ⒂ ⒃ ⒄ ⒅ ⒆ ⒇⒈ ⒉ ⒊ ⒋ ⒌ ⒍ ⒎ ⒏ ⒐ ⒑ ⒒ ⒓ ⒔ ⒕ ⒖ ⒗ ⒘ ⒙ ⒚ ⒛⒜ ⒝ ⒞ ⒟ ⒠ ⒡ ⒢ ⒣ ⒤ ⒥ ⒦ ⒧ ⒨ ⒩ ⒪ ⒫ ⒬ ⒭ ⒮ ⒯ ⒰ ⒱ ⒲ ⒳ ⒴ ⒵ Ⓐ Ⓑ Ⓒ Ⓓ Ⓔ Ⓕ Ⓖ Ⓗ Ⓘ Ⓙ Ⓚ Ⓛ Ⓜ Ⓝ Ⓞ Ⓟ Ⓠ Ⓡ Ⓢ Ⓣ Ⓤ Ⓥ Ⓦ Ⓧ Ⓨ Ⓩ ⓐ ⓑ ⓒ ⓓ ⓔ ⓕ ⓖ ⓗ ⓘ ⓙ ⓚ ⓛ ⓜ ⓝ ⓞ ⓟ ⓠ ⓡ ⓢ ⓣ ⓤ ⓥ ⓦ ⓧ ⓨ ⓩ ⓪ ⓫ ⓬ ⓭ ⓮ ⓯ ⓰ ⓱ ⓲ ⓳ ⓴⓵ ⓶ ⓷ ⓸ ⓹ ⓺ ⓻ ⓼ ⓽ ⓾ ⓿比如ping ①②⑦.⓪.⓪.① 注意也是linux系统支持常见限制1.限制为http://www.xxx.com 域名采用http基本身份认证的方式绕过即 http://www.xxx.comwww.xxc.com2.限制请求IP不为内网地址当不允许ip为内网地址时1采取短网址绕过2采取特殊域名3采取进制转换3.限制请求只为http协议1采取302跳转 https–http2采取短地址网络安全学习资源分享:给大家分享一份全套的网络安全学习资料给那些想学习 网络安全的小伙伴们一点帮助对于从来没有接触过网络安全的同学我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线大家跟着这个大的方向学习准没问题。因篇幅有限仅展示部分资料朋友们如果有需要全套《网络安全入门进阶学习资源包》请看下方扫描即可前往获取