web351笔记(curl_init)

<?php
error_reporting(0);
highlight_file(__FILE__);
$url=$_POST['url'];
$ch=curl_init($url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$result=curl_exec($ch);
curl_close($ch);
echo ($result);
?>
SSRF(Server-Side Request Forgery:服务器端请求伪造) 是一种由攻击者构造形成由服务端发起请求的一个安全漏洞。一般情况下,SSRF攻击的目标是从外网无法访问的内部系统。(正是因为它是由服务端发起的,所以它能够请求到与它相连而与外网隔离的内部系统)
首先看关于curl_init的一个例子:

$ch = curl_init(); // 初始化cURL会话

// 设置cURL选项
curl_setopt($ch, CURLOPT_URL, 'https://example.com/api'); // 设置URL
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // 将结果以字符串形式返回,而不是直接输出到屏幕

// 执行cURL请求
$response = curl_exec($ch);

// 检查是否有错误发生
if(curl_errno($ch)) {
    echo 'cURL错误:' . curl_error($ch);
}
// 关闭cURL会话
curl_close($ch);
————————————————

                            版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
                        
原文链接:https://blog.csdn.net/qq_55202378/article/details/138388584
其实就是网络请求的一段代码。flag.php不允许远程访问,只能用SSRF发起本地请求获取flag。

url=http://127.0.0.1/flag.php

 

posted @ 2025-05-21 16:10  justdoIT*  阅读(17)  评论(0)    收藏  举报