wwwwwllllk 发表于 2022-9-16 12:48:16

破解需要微信扫码获取验证码才能看文章

本帖最后由 wwwwwllllk 于 2022-10-11 20:41 编辑

代码的思路就是看了一下前端会向后端发送一个请求,返回的参数进行判断,如果我直接脚本覆盖了原来的方法,改成输入为空,状态为0的时候直接识别为成功。

有别的需要验证码的网站欢迎评论

20201011
之前的突然不能用了更新一下

```
// ==UserScript==
// @name         破解IT1352网站微信扫码
// @namespace    http://tampermonkey.net/
// @version      0.3
// @description比之前简单了很多
// @author       You
// @match      https://www.it1352.com/*.html
// @require      https://cdn.bootcss.com/jquery/1.12.4/jquery.min.js
// @require      https://cdn.staticfile.org/jquery-cookie/1.4.1/jquery.cookie.min.js
// @icon         https://www.google.com/s2/favicons?sz=64&domain=it1352.com
// @grant      none
// ==/UserScript==

(function() {
    'use strict';
    setTimeout(() =>{
      $.cookie('olduser', '1', { domain: 'it1352.com', expires: 15 });
      $('#chkinfo').fadeIn(100);
      $('#chkinfo').html('登录成功,请稍后..').addClass('tipok').removeClass('tiperr');
      setTimeout("$('#pop').fadeOut();", 1000);
      window.location.reload();
    },5000)
    // Your code here...
})();
```

又发现一个扫码的网站
```
// ==UserScript==
// @name         破解我爱学习网站需要扫码获取验证码
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description破解我爱学习网站需要扫码获取验证码,引入了jquery
// @author       You
// @match      https://www.5axxw.com/questions/content/322d1x
// @require https://cdn.bootcss.com/jquery/1.12.4/jquery.min.js
// @icon         https://www.google.com/s2/favicons?sz=64&domain=5axxw.com
// @license MIT
// @grant      none
// ==/UserScript==

(function() {
    'use strict';

    // Your code here...
    setTimeout(() => {
      $('#gzh-mask').hide();
      $('#gzh-modal').hide();
      window.open(data.addr, 'nWin-19092', 'location=no,toolbar=no,scrollbars=yes,menubar=no,top=200,left=100,width=800,height=500');
    },5000)
})();
```

20220916
```
// ==UserScript==
// @name         破解需要微信扫码获取验证码的网站
// @namespace    http://tampermonkey.net/
// @version      0.1
// @descriptionIT1352网站
// @author       You
// @match      https://www.it1352.com/*.html
// @icon         https://www.google.com/s2/favicons?sz=64&domain=it1352.com
// @grant      none
// ==/UserScript==

(function() {
    setTimeout(() =>{
      window.chk = () => {
            var code = $('#txtcode').val();
            var id = 1;
            if (code == '') {
                return chkerror();
            }
            $.get('/Home/Check?aid=' + id + '&code=' + code, function (r) {
                try {
                  var result = JSON.parse(r);
                  if (result == '') {
                        var status = result.status;
                        if (status == 0) {
                            $.cookie('olduser', '1', { domain: 'it1352.com', expires: 15 });
                            $('#chkinfo').fadeIn(100);
                            $('#chkinfo').html('登录成功,请稍后..').addClass('tipok').removeClass('tiperr');
                            setTimeout("$('#pop').fadeOut();", 1000);
                            window.location.reload();
                        } else {
                            throw '';
                        }
                  }
                } catch {
                  return chkerror();
                }
            });
      }
    },5000)
    // Your code here...
})();
```

steven026 发表于 2022-9-16 13:37:16

这个网站不需要GET的,只做了前端验证,通过cookie存在不存在来判断你之前有没有扫过码
只要手动加个cookie就行了
核心代码就这一行
$.cookie('olduser', '1', { domain: 'it1352.com', expires: 15 });
可以把默认的失效时间15天延长一点

潘钜森 发表于 2022-9-16 14:07:13

steven026 发表于 2022-9-16 13:37
这个网站不需要GET的,只做了前端验证,通过cookie存在不存在来判断你之前有没有扫过码
只要手动加个cookie ...

ggnb!{:4_94:}

wwwwwllllk 发表于 2022-9-16 19:36:37

steven026 发表于 2022-9-16 13:37
这个网站不需要GET的,只做了前端验证,通过cookie存在不存在来判断你之前有没有扫过码
只要手动加个cookie ...

gg后端验证怎么破解呢

steven026 发表于 2022-9-16 20:36:08

本帖最后由 steven026 于 2022-9-16 20:51 编辑

> 本帖最后由 steven026 于 2022-9-16 20:38 编辑

> (forum.php?mod=redirect&goto=findpost&pid=35693&ptid=3094)
> > gg后端验证怎么破解呢

你陷入了一个误区
首先,后端验证确实破不了,后端代码在服务器上,除非有漏洞,否则前端是获取不到的,更不可能注入劫持。
但是,目的不是过后端验证,是看文章,过后端验证只是达成目标的一个手段,这个手段不行了,可以换一个手段,过前端验证。

这个网站代码没怎么混淆过,很好读,可以分析这个ajax,非常简单

<img src='data/attachment/forum/202209/16/202628s6eh030sehsi6k76.png' width=500>
ajax先把微信验证码发到后端,让后端来验证这个验证码是否正确,这点确实没法做手脚。
但是可以看看回调函数:首先后端响应response只被result格式化了一下,所以只要看result这个变量就行了,又result这个对象只有status这个键被用到了,所以整个后端响应response除了其中的status有用,其余都是没用的。
而status又只有一处被用到,就是判断status是否==1,之后的所有回调再也无和response有关的地方了,也就是说不管response传了什么都没意义只要status==1就能过前端验证,因此这完全就是个假后端验证,
完全可以跳过前面所有ajax直接执行这里面的代码
```
if (status == 1) {
...
}
```
而这里面的代码真正有用的就1行`$.cookie('olduser', '1', { domain: 'it1352.com', expires: 15 });`
其余代码都是在操作元素,都可以无视
最多加一行`window.location.reload();`自动刷新下页面

wwwwwllllk 发表于 2022-9-16 21:32:37

steven026 发表于 2022-9-16 20:36
> 本帖最后由 steven026 于 2022-9-16 20:38 编辑

> (forum.php ...

gg好强,想问下假如是不是xhr请求返回的数据而是类型jsonp请求,或者是服务端渲染的页面控制台有什么好办法看返回的参数吗

steven026 发表于 2022-9-16 22:15:10

wwwwwllllk 发表于 2022-9-16 21:32
gg好强,想问下假如是不是xhr请求返回的数据而是类型jsonp请求,或者是服务端渲染的页面控制台有什么好办 ...

Devtools网络看发起程序堆栈下断点一步步逆

小C 发表于 2022-9-22 15:12:30

ggnb!   

qhkj999 发表于 2022-11-27 18:54:15

什么时候下架还不好说,有兴趣的话抓紧时间尝鲜吧。

book 发表于 2022-12-25 21:10:58

ggnb!!!
页: [1]
查看完整版本: 破解需要微信扫码获取验证码才能看文章