Challenge
Cookie 中的数值需要通过服务端的范围判断。
Cookie 数值绕过。
https://webhacking.kr/challenge/web-01/Analysis
源码先检查 user_lv 是否为数字,再把 >= 6 的值重置为 1,最后在 > 5 时调用 solve(1)。因此可接受的区间是 。小数点没有被数字检查拒绝,所以 5.5 同时满足两次判断。
Solution
对 challenge 路径发送带有完整 Cookie 的请求:
curl --silent --show-error \ --header 'Cookie: user_lv=5.5' \ 'https://webhacking.kr/challenge/web-01/'浏览器操作等价于在 /challenge/web-01/ 的 Cookie 中把 user_lv 改为 5.5,然后重新加载页面。不要把它作为 URL 查询参数发送,因为服务端读取的是 Cookie。