闲谈
近期因为琐事比较繁多,并没有及时更新文章,现在假期到来,可以更好的学习技能,如遇到精彩的案例或者有趣的知识点都会进行分享,感谢大家的支持。
小程序修复的重要性
关于渗透测试,前面已经讲过性质等,随着现在技术越来越卷,攻防之间相互进步都很快,传统只对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]-针对微信小程序的渗透测试(小程序修复&&动态调试)-渗透云记 - 专注于网络安全与技术分享](https://b.encenc.com/wp-content/uploads/2024/01/20240111165157817-image.png)
常见修复总结
上面已经说了小程序修复的重要性,这里简单总结一下关于小程序修复常见的错误(至于小程序反编译,这里就不多加赘述了,看这篇文章的应该都有了解吧)
可以参考一下文章:小程序反编译代码审计出奇迹
类型1
_typeof3 is not a function
报错如下图所示
![图片[2]-针对微信小程序的渗透测试(小程序修复&&动态调试)-渗透云记 - 专注于网络安全与技术分享](https://b.encenc.com/wp-content/uploads/2024/01/20240111165219114-image.png)
修复很简单,找到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]-针对微信小程序的渗透测试(小程序修复&&动态调试)-渗透云记 - 专注于网络安全与技术分享](https://b.encenc.com/wp-content/uploads/2024/01/20240111165259495-image.png)
类型2
app.json 未找到["subPackagages"] 对应的modules/xxxx/xxxx/xxx.wxml文件
报错如下图所示
![图片[4]-针对微信小程序的渗透测试(小程序修复&&动态调试)-渗透云记 - 专注于网络安全与技术分享](https://b.encenc.com/wp-content/uploads/2024/01/20240111165310374-image.png)
直接找到这个,然后删除
类型3
WXML文件编译错误
报错如下图所示
![图片[5]-针对微信小程序的渗透测试(小程序修复&&动态调试)-渗透云记 - 专注于网络安全与技术分享](https://b.encenc.com/wp-content/uploads/2024/01/20240111165324386-image.png)
bad attr `sensorProse` with message : error at token `:`
找到这个关键词sensorProse,删除,
或者
找到这个关键词,然后让其等于空,例如 aaa=”” aaa=”{{}}”
类型4
插件未授权使用
报错如下图所示
![图片[6]-针对微信小程序的渗透测试(小程序修复&&动态调试)-渗透云记 - 专注于网络安全与技术分享](https://b.encenc.com/wp-content/uploads/2024/01/20240111165340853-image.png)
找到Plugins下面的插件id,然后直接删除即可
能安装的就安装
类型5
删除插件之后提示,app.js错误:This Application has not registered any plugins yet
报错如下图所示
![图片[7]-针对微信小程序的渗透测试(小程序修复&&动态调试)-渗透云记 - 专注于网络安全与技术分享](https://b.encenc.com/wp-content/uploads/2024/01/20240111165355570-image.png)
按控制台报错,进入app.js里面,删除调用的ruquirePlugin即可
![图片[8]-针对微信小程序的渗透测试(小程序修复&&动态调试)-渗透云记 - 专注于网络安全与技术分享](https://b.encenc.com/wp-content/uploads/2024/01/20240111165403213-image.png)
类型6
app.json 文件内容错误 提示相同
报错如下图所示
![图片[9]-针对微信小程序的渗透测试(小程序修复&&动态调试)-渗透云记 - 专注于网络安全与技术分享](https://b.encenc.com/wp-content/uploads/2024/01/20240111165411459-image.png)
删除其中一个就可以
![图片[10]-针对微信小程序的渗透测试(小程序修复&&动态调试)-渗透云记 - 专注于网络安全与技术分享](https://b.encenc.com/wp-content/uploads/2024/01/20240111165421584-image.png)
类型7
app.json路径下面未找到组件
报错如下图所示
![图片[11]-针对微信小程序的渗透测试(小程序修复&&动态调试)-渗透云记 - 专注于网络安全与技术分享](https://b.encenc.com/wp-content/uploads/2024/01/20240111165434995-image.png)
提示缺失什么,就删除什么
一般是看最后一个数组里面的内容,定位这个然后删除
[“subPackagages”] xxxx 32[“WechatSI”] 和 [“subPackagages”] xxxx 32[“WechatSI”] 的privade相同
这个时候就直接找WechatSI,然后删除这个就行









请登录后查看评论内容