网站制作手机版,国外网站专题红黄,辽阳低价网站建设公司,网站后台界面gopher协议
目录
gopher协议
#xff08;1#xff09;安装一个cn
#xff08;2#xff09;使用Gopher协议发送一个请求#xff0c;环境为#xff1a;nc起一个监听#xff0c;curl发送gopher请求
#xff08;3#xff09;使用curl发送http请求#xff0c;命令为 …gopher协议
目录
gopher协议
1安装一个cn
2使用Gopher协议发送一个请求环境为nc起一个监听curl发送gopher请求
3使用curl发送http请求命令为
4使用gopher输出
5get请求
6post请求
需要注意的几个细节 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 5get请求
创建一个get请求的php代码如下
?php
echo hello .$_GET[name];
? 将如下代码进行url编码
GET /ssrf/get.php?nameHSJ 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
结果为 6post请求
创建一个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 nameHSJ
编码后的结果为
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包结束