探究公众号接口漏洞:从后台登录口到旁站getshell

1、入口

发现与利用公众号接口安全漏洞

某120公众号提供了一处考核平台,通过浏览器处打开该网站。



打开可以看到一处密码登录口,试了一下常用的手机号和密码,没有登录成功。



这个时候扫个目录吧。扫到了一处管理员页面:/index.php?c=home&action=admin_login

管理员弱口令

使用弱口令admin123,登录成功了,看一看,没有可以上传的点

前台弱口令

在burp里面找到一处未授权接口index.php?c=xx120&action=test_admin



点开看一看只是一些用户手机号和成绩,这个时候想到前台就是通过手机号登录的,找几个用户手机号试一下。

访问前台登录口:/index.php?c=account&action=login

136XXXXXXXX/123456

成功登录!



好像并没有什么可以利用的地方。。。。

sql注入

使用burpsuite抓包看看有没有参数存在sql注入。(我个人喜欢用一个小插件xia SQL,这个找sql注入还是很方便的),果不其然,找到一个:

index.php?c=hd120&action=edit_test&id=7+0



index.php?c=hd120&action=edit_test&id=7-0



这么明显,那么利用sqlmap跑一下吧





有注入,也是dba权限,--os-shell没法爆破,找找路径吧。。。。

2、发现旁站:

通过ICP/IP备案找找这个网站有没有什么其他信息



这个域名的备案号结尾是2,可那个网站是备案号是1,直接搜索备案号看看



找到了另一个域名,访问看一看什么样的



也是一个类似于小程序的界面,盲猜管理员路径一摸一样

/index.php?c=home&action=admin_login



果然,使用弱口令再登录一次



文件上传漏洞与getshell攻击

想起前台有个发布的功能点,返回去看看。



显示要登录得先注册,那我先注册一个账号,还好不限制用户手机号



ok了,我来登录一下。



登录成功,看看有些什么功能点,发布处没有上传的地方,但是有上传头像的地方。



这个地方就可以利用上传木马文件进行getshell了

使用burp抓包,没有任何的防护,直接一句话木马,返回的路径名存在cookie里面



利用蚁剑连接:



成功连接



原来120的网站也在同一个根目录下



除了admin123还有另外的管理员密码



这比刚刚就多了一些栏目,还泄漏了身份证号等敏感信息。。。

3、总结

在本次尝试中,我们使用公众号接口得到了一个后台登录口,并发现了弱口令。通过利用这个弱口令,我们成功进入后台。在后台中,我们发现了一处SQL注入漏洞,虽然没有通过sql注入拿到shell ,但是访问到了旁站,并发现了存在文件上传漏洞的问题。通过进一步利用这个漏洞,我们成功得到了getshell。

该文为原创:https://xz.aliyun.com/t/12321

转载请表明出处,谢谢支持

探究公众号接口漏洞:从后台登录口到旁站getshell的更多相关文章

  1. C#微信公众号接口开发,灵活利用网页授权、带参数二维码、模板消息,提升用户体验之完成用户绑定个人微信及验证码获取

    一.前言 当下微信公众号几乎已经是每个公司必备的,但是大部分微信公众账号用户体验都欠佳,特别是涉及到用户绑定等,需要用户进行复杂的操作才可以和网站绑定,或者很多公司直接不绑定,而是每次都让用户填写账号 ...

  2. C#/ASP.NET MVC微信公众号接口开发之从零开发(三)回复消息 (附源码)

    C#/ASP.NET MVC微信接口开发文章目录: 1.C#/ASP.NET MVC微信公众号接口开发之从零开发(一) 接入微信公众平台 2.C#/ASP.NET MVC微信公众号接口开发之从零开发( ...

  3. 微信公众号接口类(PHP版本)

    [项目需求] 通过微信提供的接口,实现微信公众号与后端的应用程序数据交互.消息响应等功能. [项目疑难点] 理解接口工作方式,统一接口API,响应速度.安全性等   [代码举例]   WeixinAp ...

  4. 公众号H5页面接入微信登录流程

    公众号H5页面接入微信登录流程 源码地址 https://gitee.com/szxio/h5_weixin 起步 首先创建一个项目,我们采用uni-app来作为我们的前端框架 环境安装 全局安装vu ...

  5. C#/ASP.NET MVC微信公众号接口开发之从零开发(四) 微信自定义菜单(附源码)

    C#/ASP.NET MVC微信接口开发文章目录: 1.C#/ASP.NET MVC微信公众号接口开发之从零开发(一) 接入微信公众平台 2.C#/ASP.NET MVC微信公众号接口开发之从零开发( ...

  6. C#/ASP.NET MVC微信公众号接口开发之从零开发(二) 接收微信消息并且解析XML(附源码)

    文章导读: C#微信公众号接口开发之从零开发(一) 接入微信公众平台 微信接入之后,微信通过我们接入的地址进行通信,其中的原理是微信用户发送消息给微信公众账号,微信服务器将消息以xml的形式发送到我们 ...

  7. 微信公众号与APP微信第三方登录账号打通

    一个项目同时开发了APP和微信服务号,需要做到APP和微信服务号的账号互通同步,也就是说一个账号在2个地方都可以用,当然这个前提是保证你公司自己的服务器的数据库用的是同一套. 为保证用户数据的唯一性, ...

  8. http80端口转发(实现微信公众号接口绑定IP时,同时支持多个公众号)

    http80端口转发 背景 微信公众平台接口绑定服务器时,如果使用IP需要使用80端口,此组件可实现一个IP上绑定多个公众平台接口 使用方法 http://(IP)/WeixinMP/(转发的地址Ba ...

  9. C#微信公众号接口开发实例-高级接口-申请带参数的二维码

    最近公司涉及到微信绑定用户,做了高级接口-申请带参数的二维码,总结了下微信开发接口.微信接口开发都是除了消息用的xml 回复基本上都是用json的形式传递信息(post/get),开发的方法基本都是一 ...

  10. C#/ASP.NET MVC微信公众号接口开发之从零开发(一) 接入微信公众平台

    微信公众平台接入:其实很简单,把两个参数(地址和token)填入微信公众平台后台,暂时选择明文模式 ,其中token自己定义.微信服务器会根据后台填写的地址访问,并且带上对于的参数 如 url+&am ...

随机推荐

  1. 量化交易基础-ICIR

    IC - information coefficient r=1.5+a1+a2+...+a81 ai={-1,1}随机序列 ()收益序列 E(r)=1.5 期望 cov(r)=81 协方差 std( ...

  2. mongoose Schema字段的含义

    var schema3 = new Schema({ test: { type: String, lowercase: true, // 总是将test的值转化为小写 uppercase: true, ...

  3. 2.IDEA的快捷键

    1.IDEA代码等式两边自动加空格:ctrl+alt+L

  4. pytest之运行环境

    简介 pytest是Python最流程化的单元测试框架,它具有允许直接使用assert进行断言,而不需要使用self.assert*:可以自动寻找单测文件.类和函数,还可支持执行部分用例:Modula ...

  5. eclipse console 控制台输出乱码解决办法

    一.console输出日志显示乱码 二.在类编辑处点击右键 Run As --> Run Configurations 三.在Common中设置字符集 gbk 四.restart 搜索 复制

  6. GitHub远程仓库与本地仓库链接问题

    git clone ...时,Failed to connect to 127.0.0.1 port 1080: Connection refused 步骤1------git查看: 查询动态代理 g ...

  7. 9. 实现包括前端后台的预约洗狗功能 - 使用Power Automate发送预约邮件 - 使用Power Automate发送带选择按钮(option)的邮件

    ​ 除了发送普通的电子邮件外,我们还可以选择发送带选项的电子邮件来得到客户的反馈,下面我们就一起来创建带有选择功能的电子邮件吧. 1. 打开我们的Power Portal,在左侧导航栏选择流,点击左上 ...

  8. Node.js server使用

    一.创建项目 #创建项目目录 cd /data mkdir webroot cd webroot #初始化git git init vim .gitignore 输入: node_modules/ 保 ...

  9. 漫谈Python魔术方法,见过的没见过的都在这里了

    漫谈Python魔术方法,见过的没见过的都在这里了 就说一下,不深入 假的一览 提到魔术方法,学过python都应该知道一些.至少你得会__init__吧. 在我之前写的博文中有很多都涉及魔术方法.比 ...

  10. [SUCTF 2019]EasySQL 1

    这个题目搞了我好久,由于本人基础不扎实,试了好多方法,只发现有三种情况 Nonono.无返回结果和有返回 然后使用了新学习的堆叠注入,得到了数据库名和表名 想要查看Flag表的字段内容也查看不了 这里 ...