Client side

Bypass front-end restrictions

前端检验的绕过。

Stage 2

绕过表单的限制大部分只要修改value就好了。如图修改

Stage2_edit_form

Stage 3

抓包,然后参数随便改。

Stage3_edit_form

Client side filtering

Stage 2

当点击过下拉框后会发现多了一个隐藏的table

Stage2_hidden_table

Stage 3

直接查看源码,发现有一行注释,把注释的checkout code 填入,发现只是打了折,并没有免费。

可以在价格节点上打上断点,Stage3_debug_on_change

再让价格改变时,看看调用堆栈,找到这样两个函数:Stage3_two_functions

看来使用ajax发送请求来判断是非能打折。仔细研究一下这个请求,当它在没有参数时会返回所有可能的checkcode。那答案是get_it_for_free

Stage3_for_free

HTML tampering

Stage 2

直接修改checkout按钮发送的请求的参数就好了。