进入环境
提示flag的价格为100000.。。。。。
而我们只有20
第一反应是抓包修改价格支付(一是修改自己的余额,二是修改产品价格,若是有折扣的话也可以修改折扣,大致就是这三种)
先四处看看
我们可以看到这里有三个按钮
分别是购买flag,重新设定和工作
依次点击试试
点击购买
弹出窗口提示没有足够的金钱
点击reset,弹窗提示会重新设定所有的金钱,我们先不点击确定
点击work发现我们的余额变多了,这里又想到了一种方法,编写一个脚本去设定点击次数,使得余额大于购买flag所需点数
决定先抓包试试看
。。。
靶机里的浏览器出问题的,一直在尝试重新连接,没法稳定抓包
但方法现在已经能袋盖确定是这几种了
搞了半天换了个行的虚拟机,bp和代理的插件配置花了点时间,接着做
我们首先抓取购买的包
遗憾的是并没有返回可修改的内容给我们
抓取工作的包
我们可以发现url参数发生了变化。尝试修改参数
虽然显示成功,但是页面的点数依旧没有改变
我试了下resent,是把我的点数修改为原先的20点,尝试抓取此处的包
事与愿违的是并不是我想象中的那个样子
但是有一个点一直在吸引着我的注意力
就是cookie的值。之前也做过类似的修改cookie的值来获取flag
Cookie的数值使用jwt编写的我们去编译下看看
发现我们页面的参数被储存在内了
这里就想到修改jkl的数值大于购买flag所需要的点数就行了
编译下
发现上传成功了是没错但是并没有实质返回内容
开始怀疑是不是注入点的问题
这里想起来之前的一个地方就是work的报的url
这里去查看了下这里其实有个点我漏了,没去扫描目录,这里其实是有一个robots文件的,其实也没啥用
这里我们构造url来获得secret
<%=$’%>要转为url编码%3c%25%3d%24%27%25%3e
SECRET=&name=%3c%25%3d%24%27%25%3e&do=%3c%25%3d%24%27%25%3e%20is%20working
成功获得secret
接下来就是构造jwt
成功在将cookie解码拿到flag