!
也想出现在这里? 联系我们
创意广告

针对微信小程序的渗透测试(小程序修复&&动态调试)

闲谈

近期因为琐事比较繁多,并没有及时更新文章,现在假期到来,可以更好的学习技能,如遇到精彩的案例或者有趣的知识点都会进行分享,感谢大家的支持。

程序修复的重要性

关于渗透测试,前面已经讲过性质等,随着现在技术越来越卷,攻防之间相互进步都很快,传统只对web端进行渗透测试已经越来越难取得成效(代买审计大大大佬除外,依旧还是框框乱杀)

多渠道进行渗透测试已经越来越重要,不仅仅是小程序,APP等测试也逐渐变多,需要学习的地方更多了

说了这么多,还是没有切入主题,咱们既然要对小程序进行测试,小程序抓包这些基础技能这里就不加以赘述了,主要讲讲小程序加密方面的解密(类似于web端js加密),假如说,这里有洞,但是数据都是加密的,类似于下面所示: 

RbMXWQhgGLIeUWJT6X9Sm1VbgRg5FngjFM7ambNTk4STnfowzj+CH67IshHC+wKz2nM5OB142msCSMh9zz9dzH3awK4VSiEUe3UU3fPF5ejuG9f4DB0U4fpmxcdLaYfN5kUd6Jn1LA529O0vlqtiqwpQuBRmPKyDSEuCqUDIL5zKTt+P44cro9ygRSKMUzCPUpf8SfUlzzCIsTZF51YbasvBm2166JUN3Q+23sCSr49MN5SJf3gGQdlTjPkd2OKZP4v8DesZUiStR8sKv7fGLb1oS+HjAwMkdCw7NneoiHI+OtCVOuOW1hRbecgahivfwI0TvYkVI739DSLxV2gapIB9n2PeOfeztLvlqzr6RcNqjvOakGNNIcTJCcEez1xz2l1v6W5PJJTJIohSCVHFJsygt0B1TbbX9z/tMOY7a21+MsudzqNz7Inop0pzfx8BnkKLSdu2yuHUcU6uZJeAuA7AW3m/2W2pbUC+nQMHDRGE0aAvqtc5uaTx1uY7zgRhU2uoOopYcLcEm94ZCihdtMp8UwJfQcIm41ysJGHLzB+O646FvYzVJIe3i8lSLbEDoKumfq3nx3XcTkVqo+GyBxd60h2PS4BaA6vfYgpDcRsYb9s+pN5FEppGP+kOKFp9MJmcNSbB9vmkX62aoKGFWztM8dXJdAx3v1tXSGuxvSrUWi7nZa100Abxtwby977sV6lMtIBnnv4yaxTX+ooB2mV3UnkvE+GIuPjxUEw5Cz9kMiL/6YAxEqWbBjdZLIGeuBeCnVMnLcVESMKJoVAMgLnS0OiSbrDWrfWQklrg5PotzNZXXvEt5bLUf9cCGvNr2hXcu35wzeUOqaVJHEOhsJDEWmuMi4nQVP6zSB/A4w+4f8a8zPvdeYANUodgpUf74AkgSrmwq5Zq/DLZT2P2EhfE5wh0q9R2cQZvQqlxGBxgWqfBAXw/tg1lfGVIprAvUu9fA8vvSWTjuQDZXlQK+Vc6XSplhw+/ASwjDFAIV7QQ4a9xrXVMDC9wJ/yUDrafl8439UNbq26Odxpl02f3R3cHcH6U3Rf4QDFm4QrQclgKTSgnYinMqJKq7LViXO3sOuUtwaTpKkRGvHelwIXToQWUphAPEEzUaeZCSUy7hIK4MqQvD/NB5bsa+oI6b76ZfOfCb0/TD011Kp0N6vEA470Es4rvW9Ct99o2cTpw81x5nyqdNdafyHt+CqUo5RjOo+BjZHtLt9aYLHR8331sCfDHv61TtO+0sYUAG7ZzvFzcfs6aZNemc9aB9hujl1rAIHZxogRtoksYUqpIHeMdEeTCTtsVLp3z050juc4poqq1MofYCpNEPu/c8nAJFfMVmM/71brSTlVyTfInP75r4OffsLTbuveA/9rZexmQCirzb/ItJGSjNBXgdpzTruQu6s5taeg2JvsWS+79RrVOoIs2vM+C2rlpLxlHq0Vr8su49DgY2K9E0XDhxlEeRtlEHq4Lhxu0ZrS5OE7iITGSau8+98Ez936D5WuguUznxPFiKpVLbpa7Pipaxnhl50/tuqn4BisN6t4wjhk4hHoE530XjPMQ6cf73wUJWhycY8c=

怎么办,这里就是有洞,咱们解不出来,就凉凉

对于小程序加密,一般都可以通过反编译小程序得到小程序源码进行分析,然后进行解密,对于有一定代码基础的小伙伴来说,直接看代码进行静态分析也可以拿到KEY和IV,但这需要基础和时间

这时大家第一想法就是能和web端进行逆向就好,修复好源码,让其可以进行运行,动态调试不就可以啦

图片[1]-针对微信小程序的渗透测试(小程序修复&&动态调试)-安全小天地

常见修复总结

上面已经说了小程序修复的重要性,这里简单总结一下关于小程序修复常见的错误(至于小程序反编译,这里就不多加赘述了,看这篇文章的应该都有了解吧)

可以参考一下文章:小程序反编译代码审计出奇迹

类型1

_typeof3 is not a function

报错如下图所示

图片[2]-针对微信小程序的渗透测试(小程序修复&&动态调试)-安全小天地

修复很简单,找到typeof.js文件,然后进行替换即可 

function _typeof2(o) {
  "@babel/helpers - typeof";
  return (_typeof2 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o) {
      return typeof o;
  } : function(o) {
      return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
  })(o);
 }


 function _typeof(o) {
  return "function" == typeof Symbol && "symbol" === _typeof2(Symbol.iterator) ? module.exports = _typeof = function(o) {
      return _typeof2(o);
  } : module.exports = _typeof = function(o) {
      return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : _typeof2(o);
  }, _typeof(o);
 }


 module.exports = _typeof;

​多数情况下,替换这个文件之后,小程序就可以进入了

图片[3]-针对微信小程序的渗透测试(小程序修复&&动态调试)-安全小天地

类型2

app.json 未找到["subPackagages"] 对应的modules/xxxx/xxxx/xxx.wxml文件

报错如下图所示

图片[4]-针对微信小程序的渗透测试(小程序修复&&动态调试)-安全小天地

 直接找到这个,然后删除

类型3

WXML文件编译错误

报错如下图所示

图片[5]-针对微信小程序的渗透测试(小程序修复&&动态调试)-安全小天地

 bad attr `sensorProse` with message : error at token `:`
 找到这个关键词sensorProse,删除,
 或者
 找到这个关键词,然后让其等于空,例如 aaa=”” aaa=”{{}}”

类型4

插件未授权使用

报错如下图所示

图片[6]-针对微信小程序的渗透测试(小程序修复&&动态调试)-安全小天地

 找到Plugins下面的插件id,然后直接删除即可
 能安装的就安装

类型5

删除插件之后提示,app.js错误:This Application has not registered any plugins yet

报错如下图所示

图片[7]-针对微信小程序的渗透测试(小程序修复&&动态调试)-安全小天地

 按控制台报错,进入app.js里面,删除调用的ruquirePlugin即可

图片[8]-针对微信小程序的渗透测试(小程序修复&&动态调试)-安全小天地

类型6

app.json 文件内容错误 提示相同

报错如下图所示

图片[9]-针对微信小程序的渗透测试(小程序修复&&动态调试)-安全小天地

删除其中一个就可以

图片[10]-针对微信小程序的渗透测试(小程序修复&&动态调试)-安全小天地

类型7

app.json路径下面未找到组件

报错如下图所示

图片[11]-针对微信小程序的渗透测试(小程序修复&&动态调试)-安全小天地

 提示缺失什么,就删除什么
 一般是看最后一个数组里面的内容,定位这个然后删除
 [“subPackagages”] xxxx 32[“WechatSI”] 和 [“subPackagages”] xxxx 32[“WechatSI”] 的privade相同  
 这个时候就直接找WechatSI,然后删除这个就行


「渗透云记」公众号里主要记录我每天的所思所想,我会坚持更新质量不错的文章,感兴趣的小伙伴可以扫描下方二维码,谢谢支持! 安全小天地 - 公众号 - 渗透云记
© 版权声明
THE END
喜欢就支持一下吧
点赞7196 分享
评论 抢沙发

请登录后发表评论

    请登录后查看评论内容