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