ssrf之gopher协议的使用和配置,以及需要注意的细节

gopher协议

目录

gopher协议

(1)安装一个cn

(2)使用Gopher协议发送一个请求,环境为:nc起一个监听,curl发送gopher请求

(3)使用curl发送http请求,命令为

(4)使用gopher输出

(5)get请求

(6)post请求

需要注意的几个细节:


URL:gopher://<host>:<port>/<gopher-path>_ 后接TCP数据流

gopher的默认端口是70

如果发起post请求,回车换行需要使用%0d%0a,如果多个参数,参数之间的&也需要进行URL编码

(1)安装一个cn

yum install -y nc

(2)使用Gopher协议发送一个请求,环境为:nc起一个监听,curl发送gopher请求

nc启动监听,监听9527端口:

nc -lp 9527

(3)使用curl发送http请求,命令为

curl gopher://127.0.0.1:9527/abcd

输出结果为bcd

当修改为curl gopher://127.0.0.1:9527/_abcd时

输出结果为abcd

所以在执行时第一个字符会被抵消掉

(4)使用gopher输出

创建一个123.txt并输入代码为123123

在另一个终端使用gopher进行shuchu

curl http://127.0.0.1/123.txt

这里需要注意当出现403报错时需要输入 setenforce 0可以暂时得到root权限

如果说要长期得到则需要在vim /etc/selinux/config 里面将enforcing改为disabled

(5)get请求

创建一个get请求的php代码如下

<?php

echo "hello ".$_GET['name'];

?>

将如下代码进行url编码

GET /ssrf/get.php?name=HSJ HTTP/1.1

Host: 127.0.0.1

编码后的结果为

GET%20%2Fget.php%3Fname%3Droot%20HTTP%2F1.1%0d%0aHost%3A%20127.0.0.1%0d%0a%0d%0a

用gopher去执行

curl gopher://127.0.0.1:80/_GET%20%2Fget.php%3Fname%3Droot%20HTTP%2F1.1%0d%0a

Host%3A%20127.0.0.1%0d%0a%0d%0a

结果为

(6)post请求

创建一个post请求的php代码如下

<?php

echo "hello ".$_POST['name'];

?>

将如下代码进行url编码

POST /post.php HTTP/1.1

host:127.0.0.1

Content-Type:application/x-www-form-urlencoded

Content-Length:8

name=HSJ

编码后的结果为

POST%20%2Fpost.php%20HTTP%2F1.1%0d%0ahost%3A127.0.0.1%0d%0aContent-Type%3Aapplication%2Fx-www-form-urlencoded%0d%0aContent-Length%3A8%0d%0a%0d%0aname%3DHSJ

用gopher去执行

curl gopher://127.0.0.1:80/_POST%20%2Fpost.php%20HTTP%2F1.1%0d%0ahost%3A127.0.0.1%0d%0aContent-Type%3Aapplication%2Fx-www-form-urlencoded%0d%0aContent-Length%3A8%0d%0a%0d%0aname%3DHSJ

结果为

需要注意的几个细节:

1、问号(?)需要转码为URL编码,也就是%3f

2、回车换行要变为%0d%0a,但如果直接用工具转,可能只会有%0a 3、在HTTP包的最后要

加%0d%0a,代表消息结束(具体可研究HTTP包结束)

相关推荐
Forfun_tt4 小时前
upload-labs pass-19
web安全·网络安全
缘友一世4 小时前
文件上传漏洞和绕过技术
web安全·网络安全·渗透测试·文件上传漏洞·开发安全
网安INF11 小时前
网络攻防技术:拒绝服务攻击
网络·安全·web安全·网络安全
emma羊羊15 小时前
【业务逻辑漏洞】认证漏洞
mysql·网络安全·靶场·业务逻辑漏洞
Forfun_tt16 小时前
xss-labs pass-07
网络安全·xss
拥友LikT17 小时前
计算机网络基础篇——网络安全
计算机网络·网络安全
北京耐用通信18 小时前
打破协议壁垒:耐达讯自动化Modbus转Profinet网关实现光伏逆变器全数据采集
运维·人工智能·物联网·网络安全·自动化·信息与通信
Whoami!18 小时前
⸢ 捌-Ⅱ⸥⤳ 可信纵深防御应用实践:软件供应链、数据滥用、安全加固
网络安全·信息安全·安全实践·纵深防御
偶尔贪玩的骑士2 天前
Kioptrix Level 1渗透测试
linux·开发语言·网络安全·php
这儿有一堆花2 天前
一次渗透测试的全过程:从扫描到提权
web安全·网络安全·web