书接上回,ssrf的post请求
经过了上次的hackbar尝试,发现不行,百度半天都是上来就用一个什么gopher协议,也没看到哪个说明白为啥要用gopher
这gopher也不像file啥的直接读,它同样是传个post,怎么就非得用它了
这里也看了两个文件的源代码
最后想了想可能是post和get协议的理解还是有些问题,先来看gopher这个东西吧
gopher是一个强大但是古老的协议,现在应用比较少
gopher的格式:gopher://IP:端口/_{TCP/IP数据流}
查gopher使用的时候倒是看到了一句解释,为什么要使用gopher
格式这里的_不能省,在gopher中用来占位不解析
然后来捋一捋:我们先得将包发送给index,然后在index里用gopher协议往flag传post的key
下边那道跟这个一样的流程,这里就不贴了,贴下边,这个的具体实现就上这里看看吧:https://blog.csdn.net/weixin_48799157/article/details/123934857
里边还有个我昨天碰到的问题,就是那个windows下和linux下换行不一样的事,这里有一步需要把0A换成0D0A,跟那个似乎是一个道理
下一道跟这个差不多,只不过是要上传文件
看下源代码
就是把key改成了传文件
点了浏览选完文件才发现没有上传的按键
搜了一下,这年头提交按钮都得自己写
<input type="submit" name="submit">
这边抓下包,然后先编码一次再替换一下%0A
然后再编两次码,扔到原来抓的包里
伪造出index发送的请求,拿到flag
下一个是fastcgi协议
附件是一篇文章:https://blog.csdn.net/mysteryflower/article/details/94386461 ,里边讲了fastcgi协议以及漏洞
这里直接按照网上的方法下一个gopherus:https://github.com/tarunkant/Gopherus
是一个生成payload的工具
可以直接clone:git clone https://github.com/tarunkant/Gopherus.git
要注意的是这个工具也是用python2写的,直接python会报错
这里第一行要求给出一个php文件的绝对路径,写上index.php的
第二行是要执行的命令,这里写个ls,然后就会生成payload
然后是把payload再编码一次放进抓包里,会发现目录下啥也没有,flag在根目录里,再ls一次加上cat一次,一共需要发三次
刚才中午把鼠标摔坏了,现在是触摸板战士,上午写到一半又忘存了,懒得再打一遍了,直接看redis吧,反正这几个都差不多
生成redis的payload,然后编码发包
发完没响应,不用管,直接访问shell.php试试
蚁剑连接
完事儿
标签:协议,ssrf,index,gopher,https,post,payload From: https://www.cnblogs.com/theskyforfly/p/17593351.html