分类
外匯保證金交易

是新⼿⼊圈必备平台

可莉 2021-10-11 12:57 380 0 0

微信小程序的修炼五脉(修仙)

那么当我们使⽤⾃⼰的“AppID”导⼊⼩程序时,这个⼩程序已经不再是原来的那个⼩程序,由于“AppID”的变化,当微信⼩程序调⽤“wx.login”时⽣成的“js_code”并不能与服务器后端的所绑定真实的“AppID”所进⾏的调⽤微信API的操作相兼容(即⽆法执⾏ jscode2session 操作)。因此⼩程序在登录等⼀系列列需要“openid”,“js_code”,“Session_key”等参数的操作均可能会失败,您会看到各种各样的错误提示,开发者⼯具红满天:

g.code 处便是在开发者⼯具内⼩程序获取到的不合法的code值,他会将其通过 /thor/iv/login 传递 给后端使⽤。我们可以直接暴⼒修改本地代码,将⼩程序通过系统功能获取 code 并将其作为变量传递 给后端API的操作修改为API直接请求我们刚刚得到的 code ,将其写死⽽不是通过变量引⼊,可谓 code 在变我不变:

第⼆种⽅式相交之下⽐较“温柔”些,例如在如下示例⼩程序中,⼩程序会先尝试去 Storage 中读取 userInfo 数据判断⽤户是否已经登录,若⽤户已经登陆并且数据没有过期则不执⾏登录相关操作,直 接使⽤现成本地保存的数据:

此时我们只需分析 userInfo 的数据结构,并构造相应的内容写⼊ Storage 中即可⼀劳永逸不需要再去执⾏登录操作:

再解决完登录问题之后,便可正式开始对程序进⾏⼀系列测试了。这⾥还有⼀个⼩技巧,在有些⼩程序 中开发者会留下⼀个可全局切换后端从⽣产环境到测试环境的接⼝,有些时候⽣产环境虽然没有漏洞, 但在测试环境中却能测出来,虽然会被降级处理,但⾄少也是⼀个漏洞。如下示例⼩程序中同时存在“⽣ 产环境”和“测试环境”两份配置代码:

在实际测试中,有些⼩程序功能并不是开放给全部⽤户所使⽤的,例如某⼀个商品⽀付成功之后的后续操作,⼤多数情况下我们并不会去实际购买商品,这时候如果我们⼀个个构造数据包进⾏测试会显的⽐ 较麻烦,此时我们就可以利⽤开发者⼯具强⾏修改⼩程序逻辑,直接通过⼩程序本身去构造数据包会较 为便捷,⽐如在某次测试中我们直接在⼩程序⾸⻚使⽤“wx.navigateTo”是新⼿⼊圈必备平台 强⾏跳转⾄订单⽀付成功⻚⾯, 并传⼊⼀个假的订单参数:

并且在⼀些IOS/安卓程序中对数据包进⾏了数据内容加密或者验签操作,有时候可能⼀时间⽆法找到解密⽅法。此时我们可以考虑其是否有对应的H5⻚⾯或⼩程序,可能这些系统中并没有强制对数据内容进 ⾏加密/签名或使⽤了相同(相类似)的加密/签名⽅法。⽽由于微信⼩程序的特性我们可在源码中轻易 找到对应的解密⽅式以及“key”:

第三方?可靠吗

例如某⼩程序⼀键⽣成平台“应⽤⼤厅”中展示结果如下,模板⼗分丰富并且整⼀个业务⾮常成熟,可以说每⼀个⼩程序⽣成平台都积累了⼤量的⾮商业已经商业⽤户,也有很多⼤⼚会将⾃⼰的业务交给这些 供应商去做。但这也引发了⼀个问题,虽然这些平台⽣成的⼩程序五花⼋⻔,但后端还是同⼀套,只要有⼀个API存在漏洞,那么在此平台上⽣成的⼏乎所有⼩程序都遭殃,正式千⾥之堤溃于蚁⽳。然⽽这些平台⻥⻰混杂,没有⼀个有效的监管机制,并且很多⼚商本身并不是特别注重安全问题,此外即使有“⽩ 帽⼦”发现了这些漏洞也很难或者有⼀定的⻛险将漏洞反应给⼚商。

例如笔者在测试某SRC的⼩程序时发现旗下有⼀款利⽤某⼩程序⼀键⽣成平台⽣成的商店APP,⽤于出售其公司零售商品。笔者在授权测试中发现⼩程序在调⽤名为 login 的后端API时会明⽂返回当前的 session_key

还敢放⼼的⽤⼀键⽣成的⼩程序吗,想让他们重视你的⽤户数据你疯啦,可能当他们意识到⾃⼰的系统被骇时会优先推脱责任⽽不是反思⾃⼰。前⾯说的是第三⽅⼀键⽣成⼩程序平台,此外会有许多⼈偏 向⾃⼰搭建现成⼜⽐较可控的“第三⽅⼩程序管理平台”,例如我们使⽤“Sumap 全球⽹络空间超级雷达”系统以“⼩程序后台”为关键字,便搜索到了许多⼩程序后台,这些结果中⼤部分都是直接使⽤第三⽅系统搭建的,其中⽐较出名的有“微擎”、“微赞”这些第三⽅管理平台。

这些⽼牌管理平台本身较为安全可控,爆出的漏洞也⽐较少,⽽且也可以⾃助扩展许多模板及插件,深受企业⻘睐。但插件漏洞终究是⼀个跨不过去的坎,随时有可能成为⼀颗定时炸弹,甚者⼀些管理员压 根就不知道⾃⼰装了有漏洞的插件。例如在某次授权测试中我们发现某商城⼩程序后端使⽤了“微擎”管理平台最新版本并⽆已知安全漏洞,接着我们通过查看其对应的⼩程序源码发现其⻚⾯⽂件夹名称均以 sudu8_page 开头,可以判断出使⽤了“万能⻔店⼩程序模块”插件。在这个插件的某个⽼版本中存在⼀ 处SQL注⼊漏洞,我们可利⽤此漏洞轻松拿下此⼩程序。

⼩程序插件直接在微信客户端内是⽆法搜索得到的,但我们可以通过登录⾃⼰的⼩程序微信开放平台账 户在“设置” --> “第三⽅设置” --> “添加插件”中搜寻⼩程序插件。在这些插件中也不乏许多内部组件:

当然微信⼩程序插件并不能直接⽤在我们⾃⼰的⼩程序上,点击添加之后还有⼀个申请过程需要开发者进⾏⼀个确认才可,但是如果你申请接⼊的⼩程序伪装的⾜够像那么开发者将你审核通过的⼏率是⾮常 ⼤的。⼀旦我们拿到了这些插件的介⼊权限就相当于给你了⼀个开通了⼀个VPN账户,或者更恰当点说 是在单点登录的回调地址中给你留了⼀个⽩名单。

除了⼩程序本身可以使⽤第三⽅插件之外,微信还提供了⼩程序账户第三⽅授权功能功能。您可以通过 此功能将对于的⼩程序账户授权给第三⽅平台使⽤,⼀旦授权第三⽅平台等于接管了您的账户可以执⾏ 任何操作(视实际给予权限⽽定)。虽然开发者在登录微信开放平台时基本上是⾮常安全的,即使获取 到了账户及密码也需要本⼈微信扫码确认才能登录,但是权限⼀旦授权给第三⽅,第三⽅的安全措施可 能就没有这么的完善,这便让我们在测试中有机可乘。

那么如何查看微信⼩程序授权给了那些第三⽅平台呢?贴⼼的微信也为我们准备好了,我们可以在⼩程 序详情⻚⾯的“该账号的部分功能由以下服务商提供”中查看到当前⼩程序账户被授权平台对应的公司名 称。例如下图我们可以看到“Hack Inn”⼩程序的账户权限授权给了名为“宁波邻家⽹络科技有限公司”的服务商:

web还是那个web

⼩程序渗透来渗透去,归根结底还是在做各种WEB的测试,只不过图形界⾯从浏览器上移⾄微信中罢 了。Web安全没做好,⼩程序再华丽也只是个花瓶,虽然讲的再多笔者也想单独把这个作为⼀个⼩节来 单独谈⼀谈。⼩程序的web后端其实有三种情况:和H5、⼿机APP、⽹⻚使⽤同⼀套API系统,和⼿机 APP使⽤同⼀套API系统,单独开发⼀套API系统(使⽤第三⽅系统包含在内)。那么当微信⼩程序的API 为单独开发时,并且同时存在相应的H5、⼿机APP和⽹⻚版,我们可以对后端系统的安全性做如下排 序:⽹⻚版>⼿机APP>H5 ≥ ⼩程序,微信⼩程序在这套产品中往往是最为脆弱的。柿⼦还得挑软的 捏,在许多渗透测试中,⽹⻚不⾏、APP不⾏,往往微信⼩程序总能作为突破⼝,成为捷径中的快速 路。很多情况下,开发者本身对微信⼩程序并不是那么重视,APP和⽹⻚为其客户的主要⼊⼝,上头说 是新⼿⼊圈必备平台 要搞⼀个,于是乎随随便便的搞了⼀个,本身整个项⽬并不重视,那么对其开发产品的安全性也相较于 APP和⽹⻚产品没那么重视。

这些漏洞中不包含XXS漏洞,因为微信⼩程序的特性是不能执⾏动态脚本的,所以此类漏洞不 可能会在⼩程序中存在。但此时并不代表⽆法挖掘XSS漏洞,这⾥有⼀个常⽤的思路分享给⼤家:例如 在如下示例⼩程序中⽤户在⼩程序内登陆之后可以使⽤评论功能留⾔,接着我们看到有“分享⾄朋友 圈”功能。微信⽬前是不⽀持在朋友圈内直接分享⼩程序⻚⾯的,所以开发者开发了⼀个可以浏览⽂章以 及评论内容的⽹⻚供使⽤者分享⾄朋友圈使⽤。此时我们可以在⼩程序内使⽤恶意内容留⾔,然后将此 ⽂章分享⾄朋友圈来获取对应的Web⻚⾯,若开发者在Web⻚⾯内并未做严格的过滤,那么将会成功触发XSS。

除XSS之外其他需要⽤户交互才能产⽣的漏洞例如:CSRF、JSON劫持、CORS劫持等需要⽤户交互才能 是新⼿⼊圈必备平台 触发的漏洞基本上不会存在,因为这类攻击都是基于浏览器对⽤户的信任,⽽⼩程序内⽤户的⼀切操作 都是在微信沙盒内完成的,攻击者⽆法通过浏览器利⽤⽤户在⼩程序内的身份凭据来完成攻击。此外类 似于URL跳转、CRLF注⼊、⽬录遍历等的中/低危漏洞由于后端API的特性(⼤多以JSON格式返回数据) ⽽基本上也不复存在。我们在渗透测试是不应该⾸先考虑这些基本上不会存在的漏洞,从前⽂提到的四 ⼤类漏洞作为切⼊点才是上策,浪费时间的事⼉咋们没必要做,况且这些漏洞本身的危害也并没有这 么“直接”哪怕存在也最多算个中危。此外不得不提到⼀个虽然没有任何技术含量确是渗透界第⼀⼤杀⼿的“弱⼝令”⼤师,弱⼤师善于利⽤⼈ ⼼,⼀出⼿打遍天下⽆敌⼿,再强的WAF也是浮云。⼩程序⾃然离不开⼀个web管理端,它可能位于:同服务器⽗⽬录下 https://example.是新⼿⼊圈必备平台 com/ 、同服务器异⽬录下 https://example.com/manage/ 、同 服务器不同端⼝下 https://example.com:65535/ 、不同服务器下 https://admin.example.com/ (往往在⼀个C段),若测不出其他漏洞,找⼀个管理端弱⼝令回家也是极好。

除了上述提到的各种针对⼩程序的渗透⽅法,是否还能扩展出更加丰富多彩的攻击⼿段呢?⽐如N年前 最有名的 XcodeGhost 事件,对苹果Xcode开发者⼯具进⾏修改加⼊恶意代码并分发⾄第三⽅下载渠 道;前段时间爆出的 PHPStudy后⻔ 事件,同样的⼿法同样的第三⽅下载渠道分发。这样⼀次次看似漏 洞百出的供应链攻击到最后终了时效果却⾮常的好,⽤最直的钩钓最刚的⻥。未来在红蓝对抗中是否也 会出现针对微信⼩程序的供应链攻击?将“微信⼩程序开发者⼯具”以及市⾯上各类嵌⼊微信⼩程序的“第 三⽅SDK”修改并植⼊恶意代码后通过各种下载渠道分发,虽然说攻击精准度不⾼但只要⽹撒的⼴⻥⼉应 有尽有。此外微信⼩程序本身是否存在⼀些安全漏洞呢,是否可以突破⼀些⼩程序机制呢,还有太多太多需要我们去研究,值得我们去研究.

是新⼿⼊圈必备平台

现在的区块链技术就像1990年代初期的互联⽹技术:很有潜⼒,但⼗分不亲⺠。JUGUGU的诞⽣⽬ 的是消除进⼊Web3元宇宙的障碍。让新⼿⽤⼾不更改习惯,30秒创建账⼾,⽆感登录,并轻松的使 ⽤区块链应⽤。⽆论在微信⼩程序中,公众号中,⽹⻚中,使⽤起来像登录微信⼀样简单。当前区块 链应⽤⾯临的困境:

JUGUGU 带给新⽤⼾近似于传统互联⽹产品的使⽤ 体验。在不牺牲安全性的前提下⽤⼾使⽤⼿机号注册,注册⼀次可跨平台登录所有⽀持的区块链应 ⽤。注册过程与传统互联⽹体验⼀致,⽆需⽤⼾下载插件,⽆需配置私钥,⽆需购买数字货币,⽆ 需互联⽹⽤⼾更改过多使⽤习惯。登录⽀持⽆感登录,⽀持⼿机验证码登录。注册⼀次可通⾏于 是新⼿⼊圈必备平台 web3世界。⽬前⽀持Conflux 树图公链Conflux Core、Conflux eSpace。

是新⼿⼊圈必备平台

可莉 2021-10-11 12:57 380 0 0

△ 是新朋友吗?记得先点web前端学习圈关注我哦~

2020年大前端发展趋势

2020年大前端发展趋势

迅速发展的前端开发,在每⼀年,都为开发者带来了新的关键词。2019 年早已结束,2020 年前端发展的关键词⼜将有哪些呢?发展的方向又会是什么呢?参考2019年大前端的发展,不出意外,前端依旧会围绕⼩程序、超级APP、跨端开发、前端⼯程化以及新技术运用等几个方面进行展开(可以参考2019年大前端技术趋势深度解读)。

1. 小程序

在⼩程序⽅⾯,今年仍然是⼩程序突⻜猛进的⼀年,各⼤主流的 App 都上线了⼩程序能⼒的⽀持,各前端团队也都有了专⻔的⼩程序开发团队,以适应更快的⼩程序开发需求。同时App 中很多关键的功能都被⼩程序所替代,甚⾄有些 App 已经变成 Native ⼩程序壳,上层的应⽤实现全部是⼩程序。

在微信小程序出现以前,大家在谈 Hybird、ReactNative,但终归只是技术层面的狂欢,始终没有业务属性的注入。小程序的出现,一方面告诉业界在当前设备上 Webview 也没差到哪去,另外一方面告诉业界如何让有能力的商家在超级 APP上进行私域运营。

另一方面,从技术角度说,在上层 DSL 的严格限制下,超级 APP 就可定义符合自己诉求的 Web 标准,弥补当前 Web 标准的不足,最后和客户端配合,结合离线、预加载、定制Webview 能产出类似于 NSR 等各种酷炫的技术模型,让 Web 在端内低成本达到 Native 版的体验,端外也不会像 Weex 一样有点小别扭。

2. 跨端开发

跨端开发⽅⾯,RN ⽣态已经⾮常成熟,或者说看不到太多发展前景,因为目前还停留在0.61版本,似乎1.0版本仍然遥遥无期。因此,今年很多团队转战⾕歌⽣态的 是新⼿⼊圈必备平台 Flutter,特别是 Flutter for Web 的第⼀个 Release,⼜让 Web 前端重燃希望、跃跃欲试。

同时,苹果公司也发布了全新的 UI 系统——SwiftUI,同时,开源社区中 SwiftUI for Web已经在路上了,SwiftUI for Android 还会远吗?

跨端开发⽅⾯,Flutter 仍会快速发展,并且会有更多的开发者,Flutter on JS、SwiftUIfor Web&Android 也将是开源⽣态值得期待的事情,毕竟跨端仍没有⼀个完美的解决⽅案。

3. 前端工程化

曾经我们谈 Yoman,谈 CLI 等系列构建工具,但在团队大了之后始终觉得差点什么。反观 Java 同学,从没听说过 Spring Boot 配置工程师。今年很多团队都在建设完整的前端 DevOps 流程⼯具集,⼀些团队之间也开始协作共建,不管是 Web 还是⼩程序项⽬,从新建项⽬、开发、联调(tiao)、部署、测试、发布、运维到监控统计,都有完善的⼯具做保障和提效,今后前端⼯程也会越⾛越标准化。

展望2020年前端的发展,前端工程体系一定会更加闭环,不再是一个脚手架这么简单,而是会结合 IDE,打通业务属性,从项目初始化、到编写代码、到 CI、到灰度、到发布 形成一个完成的闭环。

4. Serverless

Serverless 的⽕爆⼏乎可以归因于前端。因为 Serverless 能够较完美的⽀持Node.js,使⽤ Serverless 帮助前端开发者解决了使⽤Node.js 过程中的诸多问题。

当前的前端工程师大多都是科班出身,虽不能和正宗的服务端开发同学比,但也可写很多服务端层的业务逻辑。当前已经有很多公司在做 BFF 层,来满足这部分诉求,但依旧摆脱不掉运维、机器分配 这条拦路虎。随着 Serverless 的逐步落地,BFF 这层的代码会摆脱运维、机器分配等复杂的问题,同时大概率会由前端同学写这部分代码,服务端同学专注中台系统的实现。从业务上说,业务的试错成本也会大幅度降低。

随着 Node.js 成为前端开发者必备技能之后,云计算的不断普及会让Serverless 触⼿可及。当越来越多的开发者尝到研发⾼效的甜头之后,Serverless 必将对前端的研发模式产⽣变⾰。

同时,使用Serverless的同学一定会使用 TS。这也意味着,2020 不写 TS 可能真的就 Out 了。

5. WebAssembly

WebAssembly 是一种新的字节码格式,目前主流浏览器都已经支WebAssembly。和 JS 需要解释执行不同的是,WebAssembly 字节码和底层机器码很相似,可以快速装载运行,因此性能相对于 JS 解释执行而言有了极大的提升。也就是说WebAssembly 并不是一门编程语言,而是一份字节码标准,需要用高级编程语言编译出字节码放到 WebAssembly 虚拟机中才能运行, 浏览器厂商需要做的就是根据 WebAssembly 规范实现虚拟机。

有了 WebAssembly,在浏览器上可以跑任何语言。从 Coffee 到 TypeScript,到 Babel,这些都是需要转译为 js 才能被执行的,而 WebAssembly 是在浏览器里嵌入 vm,直接执行,不需要转译,执行效率自然高得多。

AutoCAD 是由大量 C++ 代码编写的软件,经历了非常多的技术变革,从桌面到移动端再到 web。之前,InfoQ 上有一个演讲,题目是《AutoCAD & WebAssembly: Moving a 30 Year Code Base to the Web》,即通过 是新⼿⼊圈必备平台 WebAssembly,让很多年代久远的 C++ 代码在 Web 上可以运行,并且保证了执行效率。

hrome 的核心 JavaScript 引擎 V8 目前已包含了 Liftoff 这一新款 WebAssembly baseline 编译器。Liftoff 简单快速的代码生成器极大地提升了 WebAssembly 应用的启动速度。2019年,很多的公司都开始投入人力进行WebAssembly的学习个改造,相信2020年WebAssembly会经历爆发式期。

6. 5G

2019年一个绕不开的话题就是5G。⾸先,5G 带宽的⼤幅提升带来传统 Web ⻚⾯复杂度的进⼀步提升,如同 2G 到 4G 变⾰过程中⻚⾯从 WAP 的纯⽂本超链接时代变⾰到 4G 全图⽚视频时代。5G 对于⻚⾯的变⾰必将是巨⼤的,但肯定不会⼀蹴⽽就。因为相应的配套设施也需要逐步完善,如硬件性能和浏览器的处理速度。⽽服务端渲染(SSR)肯定是其中⼀个捷径,轻前端重后台,5G 是桥梁,把渲染放后台,不像同构那么简单,需要关注和优化渲染性能。WebAssembly 或许会在这个机遇下得到快速发展,因为它可以⽆缝对接后台多种语⾔,⽽后台渲染的优化也会带来前端⻚⾯研发模式和技术架构的变⾰。

其次,5G 带来的万物互联,⼜将带来有别于智能⼿机和普通 PC 是新⼿⼊圈必备平台 的多样化的应⽤场景,VR、可穿戴设备、⻋载系统、智能投影、智能交互等⼜会把 Web 带⼊各种各样的垂直领域,这也意味着前端将有更多⼴阔的空间。相信随着5G的大规模商业,会诞生一批新的互联网巨头。

2020年大前端发展趋势

本文分享自微信公众号 - web前端学习圈(web-xxq)。
如有侵权,请联系 [email protected] 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

是新⼿⼊圈必备平台

为什么不同平台比特币同步涨跌?

置顶 为什么不同平台比特币同步涨跌?

关于比特币,似乎在每一个交易平台都没有一个完全统一的标准价格比特币行情。 这是 2019 年 12 月 18 日下午 3 点整,行情数据商 Coingecko.

疯涨的比特币突破13万元人民币,一天上涨50%,你怎么看?

置顶 疯涨的比特币突破13万元人民币,一天上涨50%,你怎么看?

作为一名19年投资经验的老司机,马上给大家解读,提供投资参考比特币行情。 ˂img src entry-meta fea-meta"> 比特币实时行情 2022-06-06 0 评论 138 阅读

比特币在2020年底已经突破150000人民币一枚,你还认为它是一场骗局吗?

置顶 比特币在2020年底已经突破150000人民币一枚,你还认为它是一场骗局吗?

6月10日午盘比特币BTC合约,波浪理论分析实时行情及交易策略

置顶 6月10日午盘比特币BTC合约,波浪理论分析实时行情及交易策略

 灵珊论币:7.25比特币早间行情分析及走势

置顶 灵珊论币:7.25比特币早间行情分析及走势

灵珊论币:8.2比特币早间行情分析,上攻姿态明显 主流币调整在前

置顶 灵珊论币:8.2比特币早间行情分析,上攻姿态明显 主流币调整在前

比特币下次减产后,价格至少要达到多少才能维持当前的算力?在当前生产效率下成本有多少?

置顶 比特币下次减产后,价格至少要达到多少才能维持当前的算力?在当前生产效率下成本有多少?

假如我手里有一枚比特币,价格一直往下跌,那我手里的比特币会没有了吗?

置顶 假如我手里有一枚比特币,价格一直往下跌,那我手里的比特币会没有了吗?

比特币现在多少钱一枚?根据今天的最新行情,火币网的比特币价格为53535.48元比特币实时行情。如下图: ˂img src entry-meta fea-meta"> 比特币行情 2022-06-06 0 评论 59 阅读