当前位置: 首页 > news >正文

ctf.show靶场ssrf攻略

前言

欢迎来到我的博客

个人主页:北岭敲键盘的荒漠猫-CSDN博客

web351

解析:post传入url参数他就会访问。

解法:

hackbar传入url参数写入https://127.0.0.1/flag.php

web352

解析:post传入url参数,不能是127.0.0.1和localhost

解法:缩写127.1传入

web353

解析:不能传localhost和127.0

 <?php
error_reporting(0);
highlight_file(__FILE__);
$url=$_POST['url'];
$x=parse_url($url);
if($x['scheme']==='http'||$x['scheme']==='https'){
if(!preg_match('/localhost|127\.0\.|\。/i', $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);
}
else{die('hacker');
}
}
else{die('hacker');
}
?> 

解题:

缩写法https://127.1/flag.php

绕过

web354

解析:传url访问网址,不可以有localhost和1和0

<?php
error_reporting(0);
highlight_file(__FILE__);
$url=$_POST['url'];
$x=parse_url($url);
if($x['scheme']==='http'||$x['scheme']==='https'){
if(!preg_match('/localhost|1|0|。/i', $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);
}
else{die('hacker');
}
}
else{die('hacker');
}
?>

解题:

自创域名绑定127.0.0.1,然后post我们的域名。

也可以服务器3xx重定向

web355

解析:限制url长度

 <?php
error_reporting(0);
highlight_file(__FILE__);
$url=$_POST['url'];
$x=parse_url($url);
if($x['scheme']==='http'||$x['scheme']==='https'){
$host=$x['host'];
if((strlen($host)<=5)){
$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);
}
else{die('hacker');
}
}
else{die('hacker');
}
?> hacker

解题:

缩写法绕过,0或者127.0等

web356

解析:长度限制更小,小于3

 <?php
error_reporting(0);
highlight_file(__FILE__);
$url=$_POST['url'];
$x=parse_url($url);
if($x['scheme']==='http'||$x['scheme']==='https'){
$host=$x['host'];
if((strlen($host)<=3)){
$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);
}
else{die('hacker');
}
}
else{die('hacker');
}
?> hacker

解题:

0代替127.0.0.1

web357

解析:他会把域名进行解析为ip,不能是自身的ip

<?php
error_reporting(0);
highlight_file(__FILE__);
$url=$_POST['url'];
$x=parse_url($url);
if($x['scheme']==='http'||$x['scheme']==='https'){
$ip = gethostbyname($x['host']);
echo '</br>'.$ip.'</br>';
if(!filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_NO_PRIV_RANGE | FILTER_FLAG_NO_RES_RANGE)) {die('ip!');
}echo file_get_contents($_POST['url']);
}
else{die('scheme');
}
?>

解题:

3xx重定向,自己服务器上搭建一个网站,网站内容如下

<?php header("Location:http://127.0.0.1/flag.php"); ?>

然后写自己网站ip让他访问就行了

web358

解析:此题为白名单,判断变量$url所代表的字符串是否以 “http://” 开头,中间包含 “ctf.”,然后可以有任意字符,最后以 “show” 结尾

<?php
error_reporting(0);
highlight_file(__FILE__);
$url=$_POST['url'];
$x=parse_url($url);
if(preg_match('/^http:\/\/ctf\..*show$/i',$url)){echo file_get_contents($url);
} 

解题:
利用@,把他需要出现的文字写到@之前,然后最后以show结尾,我们可以利用参数传递?传参无用参数show来解题

payload:

url=http://ctf.@127.0.0.1/flag.php?show

web359

解题过程:

开局一个登录框

瞎写一通观察数据包发现有一个url

在自己服务器上开启python服务后让他访问我的服务器发现

他会对url进行访问

无过滤,题目要求我们打数据库,我们利用gopher协议攻击

启动Gopherus工具

生成的payload我们还需要对后面的内容URL编码一下

因为它是url编码的形态,但是我们传过去他们会url解码一次,后面这个url编码形式的就会被误解码所以我们需要编码一次让他解码后又是这个样子。

发送后访问URL判断是否成功

访问很成功可以直接连接webshell了

没看见flag,直接上linux查找文件指令

直接查看

解题完成

web360

题目解题:让我们打redis

我们看源码

 <?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);
?> 

可以传参url,

利用上面相同的方法生成payload

post传参进去(记得url编码一次)

然后生成shell.php

之后我们直接哥斯拉连接就行了

flag在

/flaaag

http://www.lryc.cn/news/435649.html

相关文章:

  • 在 PyTorch 中,如何使用 `pack_padded_sequence` 来提高模型训练的效率?
  • Gossip协议
  • 数据结构————双向链表
  • 55 - I. 二叉树的深度
  • Redis——初识Redis
  • Xshell or Xftp提示“要继续使用此程序,您必须应用最新的更新或使用新版本”
  • table用position: sticky固定多层表头,滑动滚动条border边框透明解决方法
  • 基于飞桨paddle2.6.1+cuda11.7+paddleRS开发版的目标提取-道路数据集训练和预测代码
  • 数学建模笔记—— 整数规划和0-1规划
  • [001-03-007].第26节:分布式锁迭代3->优化基于setnx命令实现的分布式锁-防锁的误删
  • 【Unity踩坑】为什么有Rigidbody的物体运行时位置会变化
  • NGINX开启HTTP3,给web应用提个速
  • 秋招季!别浮躁!
  • Java的时间复杂度和空间复杂度和常见排序
  • Qt 学习第十天:标准对话框 页面布局
  • 体育数据API纳米足球数据API:足球数据接口文档API示例⑩
  • [数据集][目标检测]高铁受电弓检测数据集VOC+YOLO格式1245张2类别
  • Vuex:深入理解所涉及的几个问题
  • vue原理分析(六)研究new Vue()
  • 滑动窗口+动态规划
  • vscode配置django环境并创建django项目
  • WebGL系列教程四(绘制彩色三角形)
  • 通过mxGraph在ARMxy边缘计算网关上实现工业物联网
  • GEE案例:利用sentinel-1数据进行洪水监测分析(直方图统计)
  • QT 联合opencv 易错点
  • 例如/举例的使用方法 ,e.g., 以及etc的使用方法
  • 20240902-VSCode-1.19.1-部署vcpkg-win10-22h2
  • MySQL学习(多表操作)
  • 鸿蒙开发(NEXT/API 12)【网络连接管理】 网络篇
  • VMware Fusion虚拟机Mac版 安装Ubuntu操作系统教程