AppScan如何扫描移动app?
Appscan作为一款Web安全测试工具,更多的情况下是对web系统进行扫描。对App来说使用的时候是相对比较少,但是还是会用到的。
上次用Appscan扫描app的时候还是在2018年,隔了这么多年又用到了。以前也写过相应的文章,但是网站数据丢失,现重新整理记录下整个过程以不防之需。
前提条件:手机的网络需要和电脑在同一个网络下才可以,可以通过手机连接电脑热点的方式,尽量不要有多余的网络连接,最好只有电脑和手机
1、选择“使用外部客户机扫描”
2、设置代理
这里选择本地,代理端口可以自己设置也可以让appscan自动选择端口
3、下一步
4、将手机的ip加入白名单
5、设置手机代理
服务器地址为装有appscan电脑的ip地址
6、准备记录
点击‘记录’,
7、获取数据
操作时可以对app中每一个步骤都进行操作一遍,这样捕获的记录会相对更完整一些,结束后点击“停止记录”,选择确定,接下来就是对捕获数据进行分析了。
怎样扫描摄像头端口
1、选择端口扫描工具
打开下载好的网络百宝箱APP,找到运维类-端口扫描。
2、设置端口扫描参数(本例中假设设备管理IP是:172.16.1.254扫描端口范围1-65535)
页面中IP地址输入172.16.1.254,端口范围输入1-65535,点击扫描,如下图所示。
此时可以找到设备开放的管理端口信息。
如何使用appscan进行web service扫描
在使用AppScan工具对WEBService机器进行扫描的时候,经常会发现Tomcat的日志记录中会有异常信息(本文以Tomcat服务器为例):
ERROR: transport error 202: handshake failed - received GET /manaager/ - excepted JDWP-Handsh
ake ["transport.c",L41]
JDWP exit error JVMTI_ERROR_NONE(0): could not connect, timeout or fatal error
再一检查Tomcat进程,无故停止,使得整个WEBService当机,影响整个系统环境。
问题分析
通过网上查询错误信息,发现是Tomcat服务开启了JPDA功能。而在进行AppScan扫描的同时,也会覆盖到JPDA的端口。此端口是用来进行
Socket连接的,主要目的是用来对Java程序进行远程调试,一旦该端口被占用,则JVM在此监听端口上则会被挂起,导致整个Java程序中断,这就
是根因所在。只要关闭JPDA功能即可。
操作步骤:
Step 1:编辑TOMCAT目录/bin下的startup.sh文件;
Step 2:修改最后一行,将exec "$PRGDIR"/"$EXECUTABLE" jpda start "$@"中的" jpda "删除(注意,前后要加空格);
Step 3:保存后,重启startup.sh;
附:JPDA所开启的监听端口在TOMCAT目录/bin下的catalina.sh文件配置,搜索该文件的“JDPA_ADDRESS=”字样,其值便是端口号。
这里对JPDA作一个简单的介绍。
JVM提供了一个调试架构对Java程序进行调试的功能,这就是JPDA(Java Platform. Debugger ArchitectureJava平台调试架构),JPDA通过调试交互协议向JVM请求服务以及对JVM中运行的程序进行调试。
JPDA通过两个接口和协议来完成如上功能,分别是JVMTI(Java虚拟机工具接口),JDI(Java调试接口)和JDWP(Java调试连线协议)。其中
1)JVMTI定义了虚拟机应该提供的调试服务,包括调试信息(Information譬如栈信息)、调试行为(Action譬如客户端设置一个断点)
和通知(Notification譬如到达某个断点时通知客户端),该接口由虚拟机实现者提供实现,并结合在虚拟机中;
2)JDI在语言的高层次上定义了调试者可以使用的调试接口以能方便地与远程的调试服务进行交互,Java语言实现,调试器实现者可直接使用该接口访问虚拟机调试服务;
3)JDWP定义调试服务和调试器之间的通信,包括定义调试信息格式和调试请求机制。
JPDA 概念将调试过程分为两部分:被调试的程序(被调试者-debuggee)和JDI。JDI一般为一个调试应用程序的用户接口(或Java
IDE的一部分)。被调试的应用程序在后端运行,而JDI在前端运行。在前端与后端之间有一个通信通道运行JDWP协议;因此,被调试程序与调试器可以位
于同一个系统内,也可位于不同的系统中。调试器的后端负责由调试器前端向被调试者VM传输请求,如“告诉我变量X的值”;它还负责向前端传输对这些请求
(包括像到达断点之类的预计事件)的响应。后端与前端利用JDWP通过一个通信通道进行通信。后端与被调试者VM利用JVMTI进行通信。
0条大神的评论