【APP应用漏洞发现】抓包工具、协议分析、逆向工程
目录
(互联网中也有黄金屋)
APP应用漏洞发现
一、抓包工具:
1.1、http/https
1.1.1、Burpsuite:
模块:
问题解决:
1.1.2、Charies:
介绍:
抓取 http 和 https 的请求和响应
重发网络请求,方便后端调试、 修改网络请求参数、网络请求的截获和动态修改、支持模拟慢速网络,主要是模仿手机上的2G/3G/4G的访问流程、支持本地映射和远程映射、 可以抓手机端访问的资源
下载地址:
1.1.3、Fiddler:
介绍:
(1)是一个HTTP调试抓包工具,能帮助你了解HTTP协议。通过代理的方式获取程序http通讯的数据,可以用其检测网页和服务器的交互情况。
(2)可以帮您记录,调试Microsoft Internet Explorer与Web应用程序的交互,找到Web程序运行性能的瓶颈,还有如查看向Web服务器发送cookies的内容,下载内容的大小等功能。
下载地址:
1.1.4、抓包精灵(安卓):
介绍:
(1)安卓手机系统抓包软件解析专用工具。根据抓包精灵app可即时抓取手机的数据信息报文格式,及其对抓取到的报文格式开展解析。
(2)抓包精灵app为客户出示抓取和解析安卓机https互联网请求服务项目,抓包精灵app针对安卓编程者,抓包精灵app在调节互联网请求的时十分有用,而抓包精灵app针对用户来讲,抓包精灵app能全自动储存您访问 的全部信息网络、包含图片。
下载地址:
使用手机浏览器下载
1.2、其他协议:
1.2.1、wiresharak:
Wireshark(前称Ethereal)是一个网络封包分析软件。网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料。网络封包分析软件的功能可想像成电工技师使用电表来量测电流、电压、电阻的工作只是将场景移植到网络上,并将电线替换成网络线。
下载地址:
……
……
二、协议:
2.1、常见的协议:
应用层:TFTP,HTTP,SNMP,FTP,SMTP,DNS,Telnet 等等
传输层:TCP,UDP
网络层:IP,ICMP,OSPF,EIGRP,IGMP
数据链路层:SLIP,CSLIP,PPP,MTU
2.2、web协议:
Web通信协议:OSI、TCP/IP、UDP、Socket、HTTP、HTTPS、TLS、SSL、WebSocket、Stomp……
2.2.1、OSI
(1)OSI/RM协议是由ISO(国际标准化组织)制定的,它有三个基本的功能:提供给开发者一个必须的、通用的概念以便开发完善、可以用来解释连接不同系统的框架。
(2)物理层:、数据链路层、网络层、传输层、会话层、表示层、应用层
2.2.2、TCP
(1)Transmission Control Protocol 传输控制协议,是一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC 793定义。
(2)在简化的计算机网络OSI模型中,它完成第四层传输层所指定的功能,用户数据报协议(UDP)是同一层内另一个重要的传输协议。
(3)在因特网协议族(Internet protocol suite)中,TCP层是位于IP层之上,应用层之下的中间层。不同主机的应用层之间经常需要可靠的、像管道一样的连接,但是IP层不提供这样的流机制,而是提供不可靠的包交换。
2.2.2、IP
互联网协议地址 Internet Protocol Address,是分配给用户上网使用的网际协议的设备的数字标签。常见的IP地址分为IPv4与IPv6两大类,但是也有其他不常用的小分类。
2.2.3、UDP
User Datagram Protocol 用户数据报协议,是OSI(Open System Interconnection,开放式系统互联) 参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务,IETF RFC 768是UDP的正式规范。UDP在IP报文的协议号是17。UDP协议的主要作用是将网络数据流量压缩成数据包的形式。
2.2.4、Socket
(1)在计算机通信领域,socket 被翻译为“套接字”,它是计算机之间进行通信的一种约定或一种方式。通过 socket 这种约定,一台计算机可以接收其他计算机的数据,也可以向其他计算机发送数据。
(2)socket 的典型应用就是 Web 服务器和浏览器:浏览器获取用户输入的URL,向服务器发起请求,服务器分析接收到的URL,将对应的网页内容返回给浏览器,浏览器再经过解析和渲染,就将文字、图片、视频等元素呈现给用户。
(3)学习 socket,也就是学习计算机之间如何通信,并编写出实用的程序。
2.2.5.HTTP
(1)超文本传输协议 HyperText Transfer Protocol,是互联网上应用最为广泛的一种网络协议。
(2)所有的WWW文件都必须遵守这个标准。设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。HTTP是基于TCP/IP通信协议来传递数据
2.2.6.HTTPS
(1)超文本传输安全协议Hypertext Transfer Protocol Secure,是一种网络安全传输协议。
(2)是以安全为目标的HTTP通道,简单讲是HTTP的安全版,用于安全的HTTP数据传输。这个系统的最初研发由网景公司(Netscape)进行,并内置于其浏览器Netscape Navigator中,提供了身份验证与加密通讯方法。现在它被广泛用于万维网上安全敏感的通讯,例如交易支付方面。
2.2.7.TLS
(1)传输层安全性协议Transport Layer Security,及其前身安全套接层(Secure Sockets Layer,缩写作SSL)是一种安全协议,目的是为互联网通信提供安全及数据完整性保障。
(2)在浏览器、邮箱、即时通信、VoIP、网络传真等应用程序中,广泛支持这个协议。主要的网站,如Google、Facebook等也以这个协议来创建安全连线,发送数据。目前已成为互联网上保密通信的工业标准。
2.2.8.SSL
(1)Secure Sockets Layer 安全套接层,及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。
(2)TLS与SSL在传输层对网络连接进行加密。为Netscape所研发,用以保障在Internet上数据传输之安全,利用数据加密(Encryption)技术,可确保数据在网络上之传输过程中不会被截取及窃听。
2.2.9.Websocket
(1)是一种在单个TCP连接上进行全双工通信的协议。WebSocket通信协议于2011年被IETF定为标准RFC 6455,并由RFC7936补充规范。WebSocket API也被W3C定为标准。
(2)WebSocket使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在WebSocket API中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。
2.2.10、Stomp
(1)STOMP是一个简单的可互操作的协议, 被用于通过中间服务器在客户端之间进行异步消息传递。它定义了一种在客户端与服务端进行消息传递的文本格式.
……
三、逆向工具:
3.1、一键提取APK涉及的URL
3.2、反编译重写代码段,编译测试
3.2.1、 apktool
介绍:
将资源分解为几乎原始形式
重建解码资源回到二进制APK/JAR
组织和处理取决于框架资源的APK
Smali调试
下载地址(官网):
3.2.2、 dex2jar
介绍:
dex-reader/writer:读取/写入 Dalvik 可执行文件 (.dex)。它具有类似于ASM的轻量级API。
d2j-dex2jar:将 .dex 文件转换为.class文件(压缩为 jar)
smali/baksmali:将 dex 反汇编为 smali 文件,并从 smali 文件组装 dex。与 smali/baksmali 不同的实现,语法相同,但我们支持在类型 desc “
其他工具: d2j-decrypt-string
下载地址(GitHub):
3.2.3、jd-gui
介绍:
JD-GUI是一个独立的图形实用程序,显示“ .class”文件的Java源代码。您可以使用JD-Guifor即时访问方法和字段浏览重建的源代码。
下载地址:
- 点赞
- 收藏
- 关注作者
评论(0)