$_SEVER['REMOTE_ADD']=='127.0.0.1'
要求REMOTE_ADD地址是127.0.0.1才会显示,但是127.0.0.1常常会被限制
环回地址绕过IP地址
十进制
127.0.0.1
点分十分制
十进制连续
2130706433
0b
01111111000000000000000000000001
数据包中实际是32位bit二进制
0
17700000001
八进制
0x
7F000001
16进制
302重定向绕过要服务器?不会用zzzz
流程
若传入的私网地址被限制可以使用302重定向绕过。这需要一台公网服务器和它的公网IP,在服务器中创建重定向的代码文件,提交公网IP路径下的重定向代码文件,使SSRF漏洞服务器或主机访问从而重定向到自己内网地址或本机地址。
简单的重定向代码,将其保存在公网服务器中命名为1.php
12<?phpheander('Location:http://127.0.0.1/flag.php');
提交公网地址访问重定向文件,端口可以 ...
curl1. curl_init():初始化 cURL 会话功能创建一个新的 cURL 句柄(资源对象),用于后续配置和请求。
语法1resource|false curl_init(?string $url = null)
参数$url(可选):初始化时直接设置请求的 URL。
若留空,需后续通过 curl_setopt(CURLOPT_URL) 设置。
返回值
成功:返回 cURL 句柄(resource 类型)。
失败:返回 false(极罕见,通常因内存不足)。
示例1$ch = curl_init("https://api.example.com/data"); // 直接初始化并设置 URL
注意事项
必须关闭句柄:使用后务必调用 curl_close($ch) 释放资源。
复用句柄:可通过 curl_reset($ch) 重置配置,避免重复初始化。
2. curl_setopt():配置 cURL 选项功能设置 cURL 会话的请求参数,控制请求方式、超时时间、返回格式等核心行为。
语法1bool curl_setopt(resource ...
SSRF(service side request forgery)服务器请求伪造
定义是一种由攻击者形成服务器端发起的安全漏洞,本质上是属于信息泄露漏洞
攻击目标从外网无法访问的内部系统
形成原因大部分是由于服务器提供了从其他服务器应用获取数据的功能,且没有对目标地址做过滤和限制
从指定URL地址获取网页文本内容
加载指定地址的图片,下载
百度识图,给出一串URL就能识别出图片
相关函数漏洞产生相关函数:
1file_get_contents()、fsockopen()、curl_exec()、fopen()、readfile()
(1)file_get_contents()
1234<?php$url = $_GET['url'];;echo file_get_contents($url);?>
file_get_content函数从用户指定的url获取内容,然后指定一个文件名进行保存,并展示给用户。file_put_content函数把一个字符串写入文件中。
(2)fsockopen()
12345678910111213141516171 ...
伪协议1234567file:// 查找内网存活主机IP;从文件系统中获取文件内容,格式为file://[文件路径]dict:// 查找内网主机开放端口;字典服务协议,访问字典资源,如 dict://ip:6739/info:http:// 目录扫描;ftp:// 可用于网络端口扫描sftp:// SSH文件传输协议或安全文件传输协议Idap:// 轻量级目录访问协议tftp:// 简单文件传输协议gopher://分布式文档传递服务
file://作用:从文件系统中获取文件内容,格式为file://[文件路径]
1234567891011#读取文件passwdfile:///etc/passwd #显示当前操作系统网卡的IPfile:///etc/hosts#显示arp缓存表(寻找内网其他主机)file:///proc/net/arp#显示当前网段的路由信息file:///proc/net/fib_trie
dict://作用:字典服务协议,访问字典资源,格式为 dict://ip:(6739)/info:(TCP/IP数据 ...
RceMe(未完成)ezGame思路:这题本来只是单纯的想玩一下游戏,失败的时候自动跳flag了,然后才到源码里仔细看
当游戏结束时,弹出提示框告知玩家游戏结束,然后向服务器发送一个包含当前游戏得分的 GET 请求,请求服务器端的 flag.php 脚本,最后将服务器返回的响应文本以警告框的形式显示给玩家。
1234567891011121314151617181920212223if (obj.isGameOver()) { //调用 obj 对象的 isGameOver 方法来判断游戏是否结束。若该方法返回 true,则表示游戏结束,会执行大括号内的代码;若返回 false,则不执行。 //游戏失败 //$("game").style.display = "block"; //$("gameover").style.display = "block"; //$("Score").innerHTM ...
ez_ssrf代码分析1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859<?phphighlight_file(__FILE__);//flag在/flag路由中if (isset($_GET['url'])) { $url = $_GET['url']; #获取输入的url内容 #判断输入的内容中是否含有http://,如果没有则返回error if (strpos($url, 'http://') !== 0) { echo json_encode(["error" => "Only http:// URLs are allowed"]); exit; } #parse_url() 是 PHP 中用于解析 URL 的内 ...









