靶场地址:165.227.106.113/post.php

解题:

一.分析题目

提示:

知道要用POST请求提交表单,看一下源码信息

得到可能需要用post请求方式去提交表单,并且传数据admin和password,这边提供两种方式

方法一:使用burpsuite

抓包改包

这边要注意的是不止要该GETPOST还要加入内容:username=admin&password=71urlkufpsdnlkadsf

并且对于POST请求的请求头:POST 请求通常需要包含Content-Type

POST /post.php HTTP/1.1

Host: 165.227.106.113

User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:128.0) Gecko/20100101 Firefox/128.0

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/png,image/svg+xml,*/*;q=0.8

Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2

Accept-Encoding: gzip, deflate, br

Connection: keep-alive

Upgrade-Insecure-Requests: 1

Priority: u=0, i

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

Content-Length: 42



username=admin&password=71urlkufpsdnlkadsf

最后可以得到FLAG

方法二:使用curl

直接打开命令框cmd然后输入

curl -X POST -d "username=admin&password=71urlkufpsdnlkadsf" http://165.227.106.113/post.php

得到FLAG

总结—对于Content-Type

数据内容类型 对应的 Content-Type 典型场景
表单键值对 application/x-www-form-urlencoded 登录表单、简单数据提交
JSON 字符串 application/json API 接口、前后端数据交互
文件 + 文本混合数据 multipart/form-data; boundary=xxx 文件上传、复杂表单提交
纯文本 text/plain 日志提交、简单文本传递
XML 数据 application/xml 或 text/xml 传统系统数据交换

核心原则:Content-Type必须与实际数据格式严格匹配,否则服务器会解析失败(如 JSON 数据用了表单的 Content-Type,会导致参数无法读取)

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐