关于gopher协议

一、gopher协议的使用方法(注意请求开头加个_或任意字符),例如/_,不然会丢失一个字节)

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

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

root@Ubuntu ~# nc -lp 2333

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

root@kali ~# curl gopher://192.168.17.129:2333/abcd

此时nc收到的消息为:

root@Ubuntu ~# nc -lp 2333
bcd

可以发现url中的a没有被nc接受到,如果命令变为

root@kali ~# curl gopher://192.168.17.129:2333/_abcd

此时nc收到的消息为:

root@Ubuntu ~# nc -lp 2333
abcd

二、gopher协议的GET和POST协议格式:

GET数据包只需要开头两行即可,例如:

GET /test.php?a=Hello world HTTP/1.1
Host: 127.0.0.1

POST数据包需要五行,例如:

POST /test.php HTTP/1.1
Host: 127.0.0.1
Content-Type: application/x-www-form-urlencoded
Content-Length: 11
Connection: close            //这个可以没有,但是没有的话连接结束会延迟一段时间

a=Hello world

关于多次url编码问题:

第一,利用ssrf时经常要进行多次url编码(传参或者多次跳转需要多次url编码,也就是说,有多少次请求就要编码多少次,直接curl后接gopher://就编码一次,利用?url=gopher://这样的形式进行ssrf利用就相当于请求了两次,需要编码两次,如果有302跳转,则还需要再编码),第一次url编码后,将所有%0a改成%0d%0a

gopher://默认发送到70端口,一般我们需要发送到80端口,记得改

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值