不良信息举报电话:029-86519800

笑口常开 > >正文

如何使用js绕过简单的前端限制并做一些有趣的事情

2020-11-21 20:14:07 来源:抚州热线

这仍然是个人学习经验的记录,内容很简单,如果你能帮小白,那就不可能更好了!

几天前,由于下载了一些资料,需要一枚金币,充值要付1元钱。充电时,我发现最低付款是20元,其余的钱都用光了。突然间,我想,我能用一种简单的方式(我会)来换一枚金币来下载资料吗?经过一次尝试,最终成功绕过验证,通过支付宝支付了1元,并成功地用金币下载了这些材料。#理论上来说,这是很酷的黑客行为。

最后,如果你想绕过前端的限制,你可以分为三个步骤。

举起一颗栗子。

首先尝试下载资源

余额不足,需要充电。看一看,这里跳到充电,是一个简单的单独充电页面,没有从这里带来任何参数。

在充电页面中,输入1元,鼠标焦点单击其他地方。验证一词立即出现在右边:。20枚金币的最低金额,推测文本框的内容可能在焦点丢失时判断。点击付款也表示失败。

在查看了相应的标签后,没有发现任何模糊的属性,被判定为js/jQuery。搜索名称找到了很大一部分js,发现最常见和最简单的前端js脚本将充值限制在20元。在这里,我们可以判断我们有机会绕过它,我们可以尝试它。(服务器端可能仍然有限制,我也没有办法等待公鸡。

查看已付费操作并找到返回USER_Pay()的结果:

查找参数现金、支付模式、银行类型和支付函数Pay():USER_Pay()必需的参数,以发现三个重要的支付操作

这三个参数是金额、支付方式和银行类型。我们用支付宝支付,我们不需要银行类型,那么如何获得参数的值,如支付模式?我们可以直接从控制台调用页面中的方法。

将函数直接复制到控制台的右侧=,然后返回到汽车。(请注意,页面的状态应该准备好提交以完成所有所需的数据)。

粘贴图像

哦,原来的现金是充值的当前填写(必须猜到了XD),并选择了支付宝,支付模式参数是alipaydual,同样,银行类型的值是1001。

在刚才的js中,也有一个真正的支付函数:支付(支付模式,现金,银行类型);尝试填写现金1和支付模式的别名,银行类型为1001。

错误的报告也是一个中文符号。仔细看一下,alipaydual应该是一个值,一个字符串,所以是引号。支付(alipaydual,0.1,1001)

虽然png仍然返回一个false,但它成功地打开了支付窗口,跳到支付宝页面进行支付。

结束时,对于一个非计算机专业的非发展学生来说,第一次绕过简单的认证是一件非常有趣的事情。

上一篇:乐山真的很小:有趣的DIY食物

下一篇:最后一页