「渗透笔记」对某小程序的一次渗透记录

文章目录

一、前言

最近报了一个驾校,然后在报名回家以后,就开始疯狂的挂科目一的时长,突然想到这个小程序会不会存在漏洞呢,如果发现了,还可以去CNVD(https://www.cnvd.org.cn/)报一下,一是拿个积分,二是间接修复一下漏洞,毕竟自己的所有信息都在这个小程序里,不想自己有一天因为它存在什么漏洞,导致自己的信息被人偷走,所以本着保护自己的原则,我开始了一次【试探】。

具体是哪个小程序,这里我就不说啦,漏洞已经报到CNVD了,写本文只是做一个分享。

二、渗透过程

跳过所有的信息收集,因为我现在的目标是直接找漏洞,目前的一些基础信息对于我来说还不是很重要。

1、抓包试试

因为小程序也是属于web端的玩意儿,所以正常思路就是先抓一下数据包看一下都传了一些什么东西出去,又有什么东西传了回来,主要寻找以下几方面的内容:

  • 未鉴权的页面。
  • 鉴权了,但是可以水平越权的页面。
  • 鉴权了,但是可以垂直越权的页面。
  • 页面的源代码或者响应中是否存在什么敏感信息。

(1)开始抓包

  • 操作平台:iPhone、微信
  • 抓包工具:Stream【自行到苹果商店下载就可以】

如果使用安卓手机的话,建议使用Android版本低的手机,因为android版本最新的好像是不让安装第三方https证书了,那就抓不到https协议下的数据了。

抓包过程:

  • 打开抓包工具,点击开始抓包。
  • 返回微信,打开那个小程序。
  • 小程序加载完成后,进行登录或者操作。
  • 返回抓包工具,点击停止抓包

(2)分析数据

如上图所示,我登录后,抓包工具一共抓到了16个数据包,然后就可以开始对这些数据包进行逐个分析了,看看是否有我们想要的内容。

数据包一:
小程序发出去的请求内容

bash 复制代码
POST /renren-fast/app/studentCheck HTTP/1.1
Host: *******.***********.com 【此处我脱敏了】
Accept: application/json, text/plain, */*
Accept-Language: zh-CN,zh-Hans;q=0.9
Accept-Encoding: gzip, deflate, br
token: *******.*********** 【此处我脱敏了】
Content-Type: application/json
Origin: https://*******.***********.com 【此处我脱敏了】
User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 15_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 MicroMessenger/8.0.44(0x18002c2f) NetType/WIFI Language/zh_CN miniProgram/wxebb61517c7fb6b7a
Connection: keep-alive
Referer: https://*******.***********.com 【此处我脱敏了】
Content-Length: 225
Cookie: appNo=1; CategoryId=102; CategoryName=%E5%B0%8F%E8%BD%A6(C1/C2/C3); CourseId=103; 

{"appNo":"APP01","organizationNo":"C20X8LS06ZH","idcard":"eyJUeXBlIjoiSnd0IiwidHlwIjoiSldUIiwiYWxnIjoiSFMyNTYifQ.eyJwYXlsb2FkIjoiMTUwNDMwMTk5NDA2MjIxMDc4IiwiZXhwIjoxNzExMjQ1NzIyfQ.jngt2mnHozJ3WBGioCUheS7mzuOtTPb2992opODe6-w"}

小程序收回来的请求内容:

bash 复制代码
HTTP/1.1 200 
Server: nginx/1.14.1
Date: Sat, 23 Mar 2024 14:02:03 GMT
Content-Type: application/json
Transfer-Encoding: chunked
Connection: keep-alive
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Access-Control-Allow-Origin: https://*******.***********.com 【此处我脱敏了】
Access-Control-Allow-Credentials: true

{"code":0,"msg":"success","data":{"data":[{"page":null,"limit":null,"orderField":null,"order":null,"asc":null,"basePkId":学生ID脱敏,"studentNo":"学生号码脱敏","studentName":"学生姓名脱敏","sex":"学生性别脱敏","certType":"1","certNum":"身份证号脱敏","mobile":"00000000000脱敏","provinceCode":"210000","cityCode":"","districtsCode":"","businessType":"0","addr":"","enterpriseId":950,"organizationId":40,.....................}}

上面返回来的信息过于敏感,我在这里把该删除的都删除了,就按照这样的过程,我最后抓到了一个水平越权连接,可以提交学生的ID,然后获取所有学生的详细个人信息,其中包括姓名、手机号、身份证号、个人照片、考试信息等等。

(3)漏洞上报

发现漏洞后,我想到如果这个漏洞被别人找到后,可能会给这个软件拖库了,那我的各种信息就不知道被谁卖的就卖出去了,心里比较膈应这个,所以我选择上报给CNVD国家信息安全漏洞共享平台,这样厂商还能修复一下。

还有很多一眼就能看出来的漏洞,我就没再去尝试,我选择了适可而止。

三、小程序渗透思路

  1. 常规思路下,第一步肯定就是抓各个连接,分析连接的鉴权情况啦。
  2. 逆向解压小程序,分析源代码中存在的敏感信息,我以前解压某个小程序后,在里面发现了管理后台和账号密码,都是以注释的形式存在的,敲代码的人可能习惯不太好。
  3. 利用网络空间测绘,去找同IP下的其余端口,看弱口令,如果找到弱口令,那么。。尝试文件上传,或者直接尝试SQL注入。
  4. 尝试各种web漏洞、主机漏洞。

其余的自己去思考吧,我也不好写太多内容了,本文制作思路分享。

相关推荐
follycat2 小时前
[极客大挑战 2019]HTTP 1
网络·网络协议·http·网络安全
丁总学Java4 小时前
微信小程序,点击bindtap事件后,没有跳转到详情页,有可能是app.json中没有正确配置页面路径
微信小程序·小程序·json
说私域5 小时前
基于开源 AI 智能名片、S2B2C 商城小程序的用户获取成本优化分析
人工智能·小程序
mosen8685 小时前
Uniapp去除顶部导航栏-小程序、H5、APP适用
vue.js·微信小程序·小程序·uni-app·uniapp
qq22951165026 小时前
微信小程序的汽车维修预约管理系统
微信小程序·小程序·汽车
尚梦13 小时前
uni-app 封装刘海状态栏(适用小程序, h5, 头条小程序)
前端·小程序·uni-app
Lionhacker17 小时前
网络工程师这个行业可以一直干到退休吗?
网络·数据库·网络安全·黑客·黑客技术
paopaokaka_luck18 小时前
基于Spring Boot+Vue的助农销售平台(协同过滤算法、限流算法、支付宝沙盒支付、实时聊天、图形化分析)
java·spring boot·小程序·毕业设计·mybatis·1024程序员节
centos0818 小时前
PWN(栈溢出漏洞)-原创小白超详细[Jarvis-level0]
网络安全·二进制·pwn·ctf
Bessie23420 小时前
微信小程序eval无法使用的替代方案
微信小程序·小程序·uni-app