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

依旧是个人学习经验的记录,非常浅显的内容,如果可以帮到小白们,那就再好不过啦!

前些天由于下载一些素材,需要1个金币,充值付费1元即可。
在充值的时候,发现最低付费金额为20元,我用不完剩下的这个钱啊...突发奇想,我能否通过简单的(我会的)方式,只充值1元钱,换取1个金币下载素材呢?
经过尝试,最后成功绕过验证,通过支付宝支付1元钱,用1个金币成功下载了素材。#理论上这是酷酷的黑客行为。

总结了一下,想要绕过前端限制大概可以分为3步。

  • 查看控制台(F12),确定是前端验证(js脚本限制)
  • 找到真正控制提交的函数,以及需要提交的数据
  • 控制台内调用函数和相应参数

举一个栗子

  1. 首先尝试下载资源


    Paste_Image.png
  2. 余额不足,需要充值。顺手查看了一下,这里跳转去充值,是单纯单独的充值页面,没有从这里带去任何参数。


    Paste_Image.png
  3. 到了充值页面,输入1元,鼠标焦点点击其他地方。右侧立即出现验证失败的字样:“...最小金额20金币” ,推测可能为失焦时对文本框内容进行判断。 并且点击支付也提示失败。


    Paste_Image.png

    查看对应的<input>标签后,没有发现onblur属性,判断为js/jQuery 。搜索<input>的name,找到一大段js,发现果然是最普通最简单的前端js脚本限制了充值金额20元 。
    到这里,可以判断我们有机会绕过了,可以尝试一下。(仍然可能在服务器端做了限制,那我等菜鸡就没辙了)


    Paste_Image.png
  4. 查看支付的动作,发现返回 user_pay()的结果:


    Paste_Image.png

    找到user_pay(),发现3个重要的支付动作所必须的参数cash 、pay_mode、bank_type 以及支付函数pay():

     function user_pay() {
         if (check_recharge() == false) {
     return false;
     }
      //支付金额
     var cash = parseFloat($("#recharge").val()) + 0;
     //支付方式--财富通,支付宝
     var pay_mode = $(":radio[name='online']:checked").val();
     //财富通就要添加银行类型
     var bank_type = $(":radio[name='bank_type']:checked").val();
     //弹出付款窗口
     pay(pay_mode, cash, bank_type);
     return false;
     }
    

注释都写好了... 这三个参数分别是金额,支付方式,银行类型。
我们用支付宝支付,不需要bank_type ,那么pay_mode等参数怎么获取值呢?我们可以直接在控制台调用页面内的方法

  1. 直接复制"="右侧的函数在控制台内,回车。(注意页面的状态应该为填写完所有需要的数据,准备提交时)


    Paste_Image.png

    Paste_Image.png

    喔。原来cash就是当前填写的充值金额(肯定早猜到了吧XD),而选择了支付宝的话,pay_mode参数就是"alipaydual", 同理,bank_type的值是1001 。

  2. 刚才的js中,还有一段真正的调用支付的函数:
    pay(pay_mode, cash, bank_type);
    尝试填入cash为1,pay_mode为alipaydual, bank_type填1001



    报错了,也是中文符号。仔细看下,alipaydual应该是一个值,一个字符串,所以加引号。
    pay("alipaydual", 0.1, 1001);


    Paste_Image.png

    虽然依旧返回了一个false,但是成功调起了支付窗口,跳转去支付宝页面支付即可。
    Paste_Image.png
    登录后支付,即完成0.1元的充值,绕过了20元的限制喔。
    另外觉得支付宝的console内容好可爱呢...

over ,对于一个非计算机专业非开发岗的同学而言,第一次绕过简单认证,是非常有趣的一件事。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,117评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,328评论 1 293
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,839评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,007评论 0 206
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,384评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,629评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,880评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,593评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,313评论 1 243
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,575评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,066评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,392评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,052评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,082评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,844评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,662评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,575评论 2 270

推荐阅读更多精彩内容