题解
1.启动靶场,打开网址
可以发现这里就只有一段PHP代码,根据代码(可以问ai)我们可以发现,这题只需要输入what的值,且what=flag,就可以得到flag。
理解了代码之后我们就用burpsuite对请求头进行修改
2.启动burp,拦截刚才的网址,发送代码到repeater
3.因为是GET的修改方式
(详情可以百度搜索或其他方式),所以查询是加在URL的末尾用?xxxx=xxxx(eg: GET/?name=FLYFISH,若有多个查询值用&&隔开)
如图第一行(如果waht和flag没有变色就可能是格式问题)
4.点击发送,得到响应包,获得flag
5.提交flag(应该两个flag选一个就行了)
知识点
GET请求头如何查询
格式 GET/?xxx=xxx(eg:name=FLYFISH)
GET请求的基本格式
GET请求通常用于请求服务器发送资源。在BurpSuite中发送GET请求时,你需要构造一个包含URL和(可选的)查询参数的请求行。查询参数会附加在URL的末尾,并通过问号(?
)与URL的其余部分分隔开。
查询参数的格式
查询参数由参数名和参数值组成,它们之间用等号(=
)连接。如果有多个查询参数,它们之间会用与号(&
)连接。例如:
复制代码
param1=value1¶m2=value2¶m3=value3 |
完整的GET请求格式
在BurpSuite的Repeater模块或其他可以发送HTTP请求的地方,一个完整的GET请求可能看起来像这样:
复制代码
GET /resource?param1=value1¶m2=value2 HTTP/1.1 | |
Host: example.com | |
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/xxx Safari/xxx | |
...(其他请求头,根据需要添加) |
在这个例子中:
GET
是请求方法,表示这是一个GET请求。/resource?param1=value1¶m2=value2
是请求URI,其中?
后面的部分是查询参数。HTTP/1.1
是HTTP协议的版本。Host
、User-Agent
等是请求头,用于向服务器提供关于请求的附加信息。注意,虽然Host
请求头是必需的,但User-Agent
等其他请求头则是可选的,取决于你的具体需求。
结语:
一起变强!