NSS [SDCTF 2022]Apollo 1337

NSS [SDCTF 2022]Apollo 1337

考点:娱乐题。但是也需要扎实的web功底,要不然看不懂。

题目描述:Hey there intern! We have a rocket launch scheduled for noon today and the launch interface is down. You’ll need to directly use the API to launch the rocket. No, we don’t have any documentation. And quickly, our shareholders are watching!

你好,实习生!我们计划今天中午发射一枚火箭,但是发射接口坏了。您需要直接使用API来发射火箭。没有,我们没有任何文件。很快,我们的股东们就开始关注了!

开题,直接返回状态码500。两个框内文字翻译过来分别是前端页面没有正确呈现。正常。所有路线运行正常。

image-20230916125521380

源码没看出什么,全是js文件。去network看看,发现题目GET了一个api接口。

image-20230916125801112

题目描述中也提到了api,从这里下手试试。随便给参数赋个值,访问一下,返回了火箭其他部位的状态,即其他接口。

/api/status?verbose=xxx

image-20230916130048573

一共有三个接口/status/rocketLaunch/fuel。其他两个都返回了正常的数据,只有/rocketLaunch返回数据异常。(访问时候前面都加个/api,比如/api/status

image-20230916130614578

这里拿出我的postman,hackbar用不了 了。

发一个空的json,返回rocket not specified。(火箭未指定)

image-20230916131716754

定义一个火箭名,Jay17号火箭,平安送您上天。返回rocket not recognized (available: triton),火箭名字必须是triton

image-20230916183134719

返回launchTime not specified,那我们指定一个发射时间。题目描述说计划今天中午发射一枚火箭,中午就是11-13点,一个一个试,发射时间是12:00

image-20230916183208565

返回fuel pumpID not specified。那我们定义一个pumpID,看/fuel路由,范围是0-5,一个一个试过去,是4

image-20230916183442444

返回frontend authorization token not specified,我们需要指定一个token,这个不能一个一个试,得去找,最后在index-309102b69640b6f8aef0.js文件中找到,是yiLYDykacWp9sgPMluQeKkANeRFXyU3ZuxBrj2BQ

image-20230916183720607

payload:

{"rocket":"triton","launchTime":"12:00","pumpID":4,"token":"yiLYDykacWp9sgPMluQeKkANeRFXyU3ZuxBrj2BQ"}

image-20230916184012768

猜你喜欢

转载自blog.csdn.net/Jayjay___/article/details/132922142
今日推荐