ssrf之curl协议,以及查看curl支持协议的办法
1.curl支持的协议
<?php phpinfo() ?>
将这个内容写在php中
打开小皮运行后可得
用ctrl+f搜索curl得
可以查出curl所支持的协议
2.用ssrf获取信息
<?php
function curl($url){
????$ch=curl_init();//创建cURL会话
????curl_setopt($ch,CURLOPT_URL,$url);//设置cURL参数
????curl_setopt($ch,CURLOPT_HEADER,0);//设置是否返回响应头
????curl_exec($ch);//抓取URL,并把它传递给浏览器
????curl_close($ch);//关闭cURL资源,并且释放系统资源
}
$url=isset($_GET['url']) ? $_GET['url']: "";//判断是否存在url值,如果错存在则返回给$url不存在则返回空
curl($url);//调用curl函数
这里是使用的是function函数,也可以不用使用function函数
<?php
// 获取参数
$url = isset($_GET['url']) ? $_GET['url'] : "";
if ($url){
// 初始化curl
$ch = curl_init();
// 设置URL参数
curl_setopt($ch, CURLOPT_URL, $url);
// 设置是否返回响应头
curl_setopt($ch, CURLOPT_HEADER, 0);
// 执行
$result = curl_exec($ch);
// 关闭
curl_close($ch);
}
将上述代码写入ssrf1.php中打开ssrf.php
通过ssrf1.php去访问phpinfo
localhost2:8181/ssrf/ssrf1.php?url=http://localhost2:8181/phpinfo.php
也可直接访问百度
localhost2:8181/ssrf/ssrf1.php?url=www.baidu.com
这里需要注意访问其他网站比如京东淘宝时是是不能直接访问进去的,因为这些网站的协议是https协议ssrf.php 的代码不能直接绕过https的证书所以需要
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,FALSE);//这个是绕过ssl证书检查
curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,FALSE);//跳过host验证
输入这两行代码进行绕过,这样就可以访问了
localhost2:8181/ssrf/ssrf1.php?url=https://www.taobao.com
这里需要注意小皮的版本和phpstorm的版本要一致,不然有些网站可能访问不成功
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!