首页
社区
课程
招聘
小程序渗透测试之懒人找.wxapkg包
发表于: 2024-1-7 13:04 3890

小程序渗透测试之懒人找.wxapkg包

2024-1-7 13:04
3890

今天测试小程序时发现之前记忆中安卓平台下wxapkg存放位置好像发生了变化,没有细究,直接脚本梭哈

安卓平台

记忆中安卓平台获取wxapkg 文件:/data/data/com.tencent.mm/MicroMsg/[ 一个 32 位的 16 进制字符串名文件 夹]/appbrand/pkg/

但今天测试时好像有所变化,于是写了这个脚本,避免重复工作

IOS平台

IOS平台获取wxapkg 文件:/var/mobile/Containers/Data/Application/{程序 UUID}/Library/WechatPrivate/{⽤户ID}/WeApp/LocalCache/release/{小程序 ID}/

小程序点击右上角查看小程序详细信息查看更多资料即可看到一个AppID即小程序UUID

PS:查询小程序UUID步骤如下:

1
2
3
4
# 首先连接测试SSH,输入下列命令:
cd /var/mobile/Containers/Data/Application/
find -name "*wxapkg" -print
./ 后面对应的序列ID即为微信的UUID

wx_wxapkgfind.sh

将脚本上传至手机端即可

  • 安卓:会删除微信下的所有*.wxapkg文件,望熟知

  • IOS:提前配置好ssh密钥连接,脚本中需要把root@kios.local(此处我使用的是苹果的本地域名)修改为你的连接方式,如用户名@IP

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
###### Android
# adb push ~/Desktop/wx_wxapkgfind.sh /sdcard/
# cp /sdcard/wx_wxapkgfind.sh /&&chmod +x /wx_wxapkgfind.sh&&/wx_wxapkgfind.sh
###### IOS
# scp ~/Desktop/wx_wxapkgfind.sh root@kios.local:~/
# chmod +x wx_wxapkgfind.sh&&~/wx_wxapkgfind.sh
###### 解包
# /opt/homebrew/bin/node ~/tools/tool/04tools/0403-Data_analysis/0303-加密解密/小程序解包/wxcha11/02jiebao/wxappUnpackerNew/wuWxapkg.js <wxapkg主包>
# /opt/homebrew/bin/node ~/tools/tool/04tools/0403-Data_analysis/0303-加密解密/小程序解包/wxcha11/02jiebao/wxappUnpackerNew/wuWxapkg.js -s=<主包解压路径> <wxapkg分包>
 
# 设置红色文本颜色
RED='\033[0;31m'
# 设置绿色文本颜色
GREEN='\033[0;32m'
# 设置黄色文本颜色
YELLOW='\033[0;33m'
# 设置重置颜色
RESET='\033[0m'
 
echo "# ++++++++++++++++++++++++++++++++++++++++++"
echo "# +  微信公众号:攻有道       By:Cha111Ng1    +"
echo "# ++++++++++++++++++++++++++++++++++++++++++"
echo ""
 
# 安卓
cha11_Android() {
    echo "${GREEN}[*]进入微信目录->${RESET} cd /data/data/com.tencent.mm/MicroMsg"
    cd /data/data/com.tencent.mm/MicroMsg
    echo "${GREEN}[*]查看系统当前.wxapkg包->${RESET} find ./ -name *.wxapkg"
    find ./ -name *.wxapkg
    echo ""
    echo "${YELLOW}[+]自动执行删除所有.wxapkg->${RESET} find ./ -name "*.wxapkg" -exec rm {} \;"
    find ./ -name "*.wxapkg" -exec rm {} \;
    echo ""
 
    echo "${GREEN}[*]请输入小程序的名称:${RESET}"
    read userInputfile
 
    echo ""
    mkdir -p /sdcard/xcx/$userInputfile
 
    echo "${GREEN}[*]请在手机上打开需要测试的小程序${RESET}"
    echo "${RED}[*]请确认是否已打开小程序 '确认-> y' 或 'n': ${RESET}"
    # 提示用户输入
    read userInput
    # 判断输入是否为 'y'
    if [ "$userInput" == "y" ]; then
    find ./ -name "*.wxapkg" -exec cp {} /sdcard/xcx/$userInputfile \;
    echo "[+]获取的wxapkg包如下:"
    ls /sdcard/xcx/$userInputfile
    echo ""
    echo "${GREEN}[*]进入工作目录->${RESET} cd /data/data/com.tencent.mm/MicroMsg&&find ./ -name *.wxapkg"
    echo "${GREEN}[*]电脑端运行命令->${RESET} adb pull /sdcard/xcx/$userInputfile"
    else
    echo "输入不是 'y'"
    fi
}
 
cha11_IOS(){
    echo "[*]请输入小程序的AppID:"
    read wxappid
    echo ""
    echo "[*]请输入小程序的名称:"
    read userInputfile
    mkdir -p ~/xcx/$userInputfile
    find /var/mobile/Containers/Data/Application/ -name "*.wxapkg" -print | while read -r file; do
        if [[ $file == *"$wxappid"* ]]; then
            cp "$file" ~/xcx/$userInputfile/
        fi
    done
    ls ~/xcx/$userInputfile
    echo ""
    # echo "[*]进入工作目录-> cd /data/data/com.tencent.mm/MicroMsg&&find ./ -name *.wxapkg"
    echo "[*]电脑端运行命令-> scp -r root@kios.local:~/xcx/$userInputfile ./"
 
}
 
# 获取 uname 命令的输出
uname_output=$(uname)
 
# 检查输出是否为 "Linux"
if [[ "$uname_output" == "Linux" ]]; then
    echo "${GREEN}[*]当前系统为安卓系统${RESET}"
    cha11_Android
elif [[ "$uname_output" == "Darwin" ]]; then
    echo "[*]当前系统为IOS系统"
    cha11_IOS
else
    echo "[+]未知系统,请修改脚本"
fi

解包

我使用的是之前GitHub上一个node脚本,好像已经删库跑路了,大家可自行寻找可用脚本,或公众号回复:zy@20231212


拓展资料

脚本地址:https://github.com/Cha111Ng1/Penetration_shell.git


[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 2
支持
分享
最新回复 (1)
雪    币: 3594
活跃值: (31031)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
感谢分享
2024-1-8 13:51
1
游客
登录 | 注册 方可回帖
返回
//