发布新日志

  • charles使用教程指南

    2016-05-26 14:04:02

    Charles各版本下载:

    Charles for Windows 32 bit

    Charles for Windows 64 bit

    Charles for linux

    Charles for Mac OS X

    Charles for Mac OS X (uses Apple Java 6)

    0x01 前言:

    Charles是一款抓包修改工具,相比起burp,charles具有界面简单直观,易于上手,数据请求控制容易,修改简单,抓取数据的开始暂停方便等等优势!下面来详细介绍下这款强大好用的抓包工具。

    0x02 下载与安装

    首先是工具下载和安装 首先需要下载java的运行环境支持(一般用burp的人肯定也都有装java环境)。装好java环境后,可以直接去百度搜索并下载charles的破解版,下载到破解版之后,里面一般会有注册的jar文件,然后注册后就可以永久使用了(ps:不注册的话,每次使用30分钟,工具就会自动关闭)。

    0x03 PC端抓包

    下面是pc端的抓包使用情况 Charles支持抓去http、https协议的请求,不支持socket。

    然后charles会自动配置IE浏览器和工具的代理设置,所以说打开工具直接就已经是抓包状态了。 这里打开百度抓包下,工具界面和相关基础功能如下图所示:

     

    enter image description here

    上图中的7个位置是最常用的几个功能。

    1 那个垃圾桶图标,功能是clear,清理掉所有请求显示信息。

    2 那个望远镜图标,功能是搜索关键字,也可以使用ctrl+f实现,可以设置搜索的范围。

    enter image description here

    3 圆圈中间红点的图标,功能是领抓去的数据显示或者不显示的设置。 这个本人认为是charles工具很方便的一个两点,一般都使其为不显示抓去状态,只有当自己测试的时候的前后,在令其为抓取并显示状态。这样可以快准狠的获取到相关自己想要的信息,而不必在一堆数据请求中去寻找。

    4 编辑修改功能,可以编辑修改任意请求信息,修改完毕后点击Execute就可以发送一个修改后的请求数据包。

    enter image description here

    5 抓取的数据包的请求地址的url信息显示。

    6 抓取的数据包的请求内容的信息显示。

    enter image description here

    post请求可以显示form形式,直观明了。

    enter image description here

    7 返回数据内容信息的显示。

    enter image description here

    其中5、6、7中都有各种形式的数据显示形式,其中raw是原始数据包的状态。

    0x04 显示模式

    charles抓包的显示,支持两种模式,Structure和Sequence,其优点分别如下。

    Structure形式如下图 优点:可以很清晰的看到请求的数据结构,而且是以域名划分请求信息的,可以很清晰的去分析和处理数据。

    enter image description here

    Sequence形式如下图 优点:可以很清晰的看到全部请求,不用一层一层的去点开,这里是以数据请求的顺序去执行的,也就是说那个请求快就在前面显示。

    enter image description here

    具体要说两种形式哪个更好,这个就是见仁见智了。本人比较喜欢第二种,粗矿豪放!

    0x05 移动APP抓包

    这里相比其他抓包软件来说要简单的多了,具体步骤如下:

    1 使手机和电脑在一个局域网内,不一定非要是一个ip段,只要是同一个漏油器下就可以了,比如电脑连接的有线网ip为192.168.16.12,然后手机链接的wifi ip为192.168.1.103,但是这个有线网和无线网的最终都是来自于一个外部ip,这样的话也是可以的。

    2 下面说说具体配置,这里电脑端是不用做任何配置的,但是需要把防火墙关掉(这点很重要)!

    然后charles设置需要设置下允许接收的ip地址的范围。 设置首先要进入这个位置 Proxy - Access Control Settings 然后如果接收的ip范围是192.168.1.xxx的话,那么就添加并设置成192.168.1.0/24 如果全部范围都接收的话,那么就直接设置成0.0.0.0/0

    enter image description here

    然后如果勾选了Proxy - Windows Proxy 的话,那么就会将电脑上的抓包请求也抓取到,如果只抓手机的话,可以将这个设置为不勾选。

    3 接下来下面是手机端的配置

    首先利用cmd - ipconfig命令查看自己电脑的ip地址

    enter image description here

    然后在手机端的wifi代理设置那里去进行相关的配置设置。

    这里的代理服务器地址填写为电脑的ip地址,然后端口这里写8888(这个是charles的默认设置),如果自己修改了就写成自己所修改的端口就可以了。

    enter image description here

    4 好了,这样就配置完成就大功告成了!下面打开UC浏览器或者其他东西,随便访问个网页看有没有抓取到数据就可以了(我这里是直接访问的新浪新闻首页)。

    enter image description here

    0x06 其他常用功能

    相信上面介绍的那些你已经学会了吧,下面再说说charles的一些其他常用的功能

    选择请求后,右键可以看到一些常用的功能,这里说说Repeat 就是重复发包一次。 然后Advanced Repeat就是重复发包多次,这个功能用来测试短信轰炸漏洞很方便。

    enter image description here

    还有比如说修改referer测试CSRF漏洞,修改form内容测试XSS,修改关键的参数测试越权,修改url、form、cookie等信息测试注入等,都非常方便。

    好了,这款工具的介绍就到这里了,相信这款方便好用的工具,以后肯定会被更多的人使用到的。

    0x07 charles使用问题汇总

    Charles是一款很好用的抓包修改工具,但是如果你不是很熟悉这个工具的话,肯定会遇到各种感觉很莫名其妙的状况,这里就来帮你一一解答。

    1 为什么下载了不能用啊?打不开啊。

    因为charles是需要java环境才能运行的,需要先安装java环境才可以。

    2 为什么我用着用着就自动关闭了?大概30分钟就会关闭一次。

    因为charles如果没有注册的话,每次打开后就只能哟个30分钟,然后就会自动关闭,所以最好在使用前先按照说明去进行工具的注册操作。

    3 为什么我在操作的时候有时候就直接工具就界面卡住死了,关都关不掉,只能用任务管理器才可以关掉?

    这个的确是charles这个工具的一个bug,开始用的时候,我也很恶心,而且经常悲剧,但是现在也有相应的解决办法了,下面那样操作就可以了。

    首先随便抓些包,要求有图片的请求。

    enter image description here

    然后选中一个图片的请求,然后分别点击 Response - Raw 然后那里会加载其中的内容,然后加载完毕后,再去随便操作就可以了,就不会在悲剧的直接工具卡死掉了。。。

    enter image description here

    4 为什么用了charles后,我就上不了网页了,但是qq可以。

    因为如果charles是非正常状态下关闭的话,那么IE的代理就不会被自动取消,所以会导致这种情况。

    解决办法:

    第一种:直接打开charles,然后再正常关闭即可。 第二种:去将IE浏览器代理位置的勾选去掉。

    enter image description here

    5 为什么我用charles不能抓到socket和https的数据呢?

    首先,charles是不支持抓去socket数据的。 然后,如果抓不到https的数据的话,请查看你是不是没有勾选ssl功能。 Proxy - Proxy Settings - SSL 设置

    6 为什么我用charles抓取手机APP,什么都是配置正确的,但是却抓不到数据。

    首先,请确保电脑的防火墙是关闭状态,这个很重要。

    enter image description here

    如果,防火墙关了还是不行,那么请把手机wifi断掉后重新连接,这样一般就可以解决问题了。 如果以上方法还是不行的话,那么请将手机wifi位置的ip地址设置成静态ip,然后重启charles工具。

    7 抓包后发现form中有些数据显示是乱码怎么办?

    请在Raw模式下查看,Raw模式显示的是原始数据包,一般不会因为编码问题导致显示为乱码。

    8 我用charles抓手机app的数据,但是同时也会抓去到电脑端的数据,可以设置吗?

    可以,设置位置在Proxy - Windows Proxy ,勾选表示接收电脑的数据抓包,如果只想抓去APP的数据请求,可以不勾选此功能。

    9 为什么我用IE可以抓到数据,但是用360或者谷歌浏览器就不行?

    请确保360或者谷歌的代码设置中是不是勾选设置的是 使用IE代理。

    enter image description here

    10 想要复制粘贴某些数据的话,怎么办,右键没有相应功能啊?

    请直接使用Ctrl +C 和 Ctrl+V 即可。

    以上就是charles在使用过程中常见的10中问题和相应的解决情况,有了这个文章,大家就不用在遇到问题的时候懊恼了,嘿嘿

  • 如何在Chrome下使用Postman进行rest请求测试

    2016-04-20 18:48:33

    在web和移动端开发时,常常会调用服务器端的restful接口进行数据请求,为了调试,一般会先用工具进行测试,通过测试后才开始在开发中使用。这里介绍一下如何在chrome浏览器利用postman应用进行restful api接口请求测试。

    工具/原料

    • chrome浏览器
    • postman

    1、安装Postman

    1. 1

      下载postman,这里提供两种方式。

      1、通过postman官方网站直接点击百度搜索“postman”

      就可以找到。

      点击“get it now it's free!”进入chrome商店下载

      注意:chrome商店需要到“墙外”在才能下载。

      如何在Chrome下使用Postman进行rest请求测试
    2. 2

      2、离线安装:

      文件已经放在百度云上:

      链接: http://pan.baidu.com/s/1bni9Dzp 密码: kkgb

      解压下载的文件“Postman-REST-Client_v0.8.1”,内容文件结构如下:

      如何在Chrome下使用Postman进行rest请求测试
    3. 3

      打开Chrome,依次选择“选项”>>"更多工具">>“扩展程序”,

      也可以在地址栏里直接输入:“chrome://extensions/”

      打开后如下图

      勾选“开发者模式”

      然后点击“加载已解压的扩展程序”,选择刚才我们下载并解压出来的文件夹。

      如何在Chrome下使用Postman进行rest请求测试
      如何在Chrome下使用Postman进行rest请求测试
    4. 4

      安装好后如图:

      如何在Chrome下使用Postman进行rest请求测试
      END

    2、进行Restful请求测试

    1. 1

      打开chrome的“应用”,或者直接在地址栏里输入“chrome://apps/”也可以打开应用页面

      打开postman

      如何在Chrome下使用Postman进行rest请求测试
    2. 2

      Get请求:

      在地址栏里输入请求url:http://localhost:9998/api/user

      选择“GET”方式,

      点击"Url params",添加url params key:id , value:1

      点击“send”得到json数据如下:

      如何在Chrome下使用Postman进行rest请求测试
    3. 3

      如果想要Post请求:

      在地址栏里输入请求url:http://localhost:9998/api/user/1

      选择“POST”方式,

      点击"application/x-www-form-urlencoded",

      添加key:name , value:baidu-lulee007

      添加key:sex , value:man

      如何在Chrome下使用Postman进行rest请求测试
    4. 4

      注意:请求支不支持post请求是由服务端决定。

      如果服务端需要请求类型为json,需要在“headers”添加

      key:Content-Type   , value:application/json

      选择“raw”,并添加:

      {

          "id": 1,

          "data": {

              "name": "baidu-lulee007",

              "sex": "man"

          }

      }

      如何在Chrome下使用Postman进行rest请求测试

  • linux下bugzilla+testopia的安装

    2013-10-25 10:35:06

    linuxbugzilla+testopia的安装笔记

    一、安装Apache

    find / -name apache查找安装路径

    本次apache的版本是apache-2.2.22

    二、安装mysql

    find / -name mysql查找安装路径

    本次mysql的版本是mysql-5.0.67

    进入mysql(输入命令mysql -u root -p, 回车后根据提示输入密码)

    基本命令show databases;#显示数据库名字

    use mysql; #打开mysql数据库 

    show tables; #显示表名字

    三、安装Perl

    perl –v 查询perl 版本

    本次perl的版本是perl 5.8.8

    四、安装bugzilla

    1、下载源码包bugzilla-4.4.1.tar.gz

    2、解包:tar -zxvf bugzilla-4*

    3、配置:mv  buzilla-4* /usr/local/webapps/bugzilla      (移动bugzilla文件到webapps目录)

       chmod -R 777 /usr/local/webapps/bugzilla      (改变权限)

    4、切换到bugzilla目录,执行./ checksetup.pl

    五、安装perl模块

    perl -MCPAN -e 'install "Bundle::Bugzilla"'

    其中DBD::mysql 安装有所不同

    1、  http://search.cpan.org/~mverb/GDTextUtil-0.86/Text/Align.pm下载DBD-mysql-4.024.tar.gz

    2、  解压并进入解压目录

    3、  perl Makefile.PL--mysql_config=<mysql_config 所在的目录>

    如:perl Makefile.PL--mysql_config=/usr/local/mysql/bin/mysql_config

    4、  make

    5、  maketest

    6、  make install

    7、  再次运行./ checksetup.pl

    六、http://ip/bugzilla登录成功

    七、集成testopia

    1https://developer.mozilla.org/zh-CN/docs/Mozilla/Bugzilla/Testopia下载testopia-2.5-BUGZILLA-4.2.tar.gz

    2、拷贝testopia包到bugzilla根目录

    3、解压tar –zxvf testopia-2.5-BUGZILLA-4.2.tar.gz

    4、运行./ checksetup.pl安装必须的perl模块


    5ie下登录,点击new plan无反应。Firefox下正常。

    八、bugzilla邮件配置

    bugzilla的一大特性的就是通过邮件管理账户, 有新的bug提交的时候就通过邮件告知相应的负责人

    配置邮件功能需要 bugzilla的管理员账户, Administration->Parameters->Email. 比如使用QQ邮箱, 发送邮件地址为xxxxx@qq.com, SMTP服务器是smtp.qq.com, SMTP的账号密码即QQ账号密码(若没有设置独立邮箱密码). 然后登陆QQ邮箱开启SMTP服务. 这样bugzilla就可以用邮件发通知了.

     


     

  • Secure Sockets Layer

    2008-08-29 13:41:09

    加密套接字协议层(SSL)管理网络信息安全传输的常用协议。继SSL之后,最近出来了基于SSL的传输层安全协议(TLS)。SSL使用位于互联网的超文本传输协议(HTTP)以及传输控制协议(TCP)层之间的程序层,它是Microsoft和Netscape浏览器以及大多数网络服务产品的一部分。SLL由Netscape开发,它也赢得了Microsoft以及其它网络客户/服务程序开发者的支持,溶入传输层安全协议之后,成为实际的标准。  

    TLS和SSL是大多数网络浏览器以及网络服务器的集成部分。如果网站建立在支持SSL的服务器上,一定的网页可被认定为请求SSL访问。任何网络服务器可使用Netscape的SSLRef程序库。  

    TLS以及SSL不是互通的,然而,SSL客户程序可处理使用TLS发送的消息。

  • 黑盒测试(转)

    2008-08-21 09:26:33

    黑盒测试 (一)

    一、黑盒测试在快速应用开发(rad)环境中的重要作用

      软件测试方法一般分为两种:白盒测试与黑盒测试。其中,白盒测试又称为结构测试、逻辑驱动测试或基于程序本身的测试,着重于程序的内部结构及算法,通常不关心功能与性能指标。黑盒测试又被称为功能测试、数据驱动测试或基于规格说明的测试,实际上是站在最终用户的立场上,检验输入输出信息及系统性能指标是否符合规格说明书中有关功能需求及性能需求的规定。

      随着rad环境的发展,软件工程面临新的挑战,其中包括:

      ●应用系统的规模越来越庞大,结构越来越复杂;

      ●开发团队人员越来越多,分工越来越细;

      ●项目投资日益提高,导致投资风险增大。

      在这样一种背景下,软件质量面临着更大的危机,而解决问题的关键正是黑盒测试,可是由于传统的黑盒测试往往局限于手工测试,凭借工程人员的经验自发地进行,缺乏严格的测试管理机制,因而效果并不明显。

      在分发一个应用系统之前,若没有经过科学、周密的黑盒测试,就相当于将大量隐含的缺陷(defect)交付到最终用户手中,这对于开发团队自身、项目投资方及最终用户来说都是不负责任的表现,也将严重损害三方的利益。

      今天,软件的质量要求越来越受到重视,在对软件的质量监督中,黑盒测试起着重要的、不可替代的作用;而随着软件开发平台及软件设计思想的进步和发展,特别是rad技术的发展,对黑盒测试提出了更明确的要求,人们发现,必须遵循一定的测试理论,依赖于优秀的测试工具,才能进行科学、完备的测试。

      二、黑盒测试的操作步骤

      在传统的软件开发生命周期当中,测试工作往往被搁置到整个开发过程的后期进行,也就是说,当应用程序的编码工作已经基本完成,才开始进行测试,这样做的缺点在于:

      a)由于应用程序庞大而复杂,测试工作千头万绪,测试人员难以组织科学、全面的测试用例,从而大幅度提高了测试成本,并严重影响测试的全面性和有效性;

      b)由于缺陷所涉及的模块从开发到测试之间的时间间隔较长,使得程序员的修改和维护工作要付出更大的代价;

      c)由于受到分发日期的限制,测试工作往往是在忙碌中结束的,而将大量的缺陷遗留给最终用户,也就是说,真正的测试工作实际上是由最终用户来完成的。

      因此,为了保证测试工作科学、精确、全面、有序地进行,应该采取一边开发一边测试的策略,使得开发工作与测试工作平行进行,这也就是俗话所说的“越早测试越好”的概念。

      一套完整的测试应该由五个阶段组成:

      1.测试计划

      首先,根据用户需求报告中关于功能要求和性能指标的规格说明书,定义相应的测试需求报告,即制订黑盒测试的最高标准,以后所有的测试工作都将围绕着测试需求来进行,符合测试需求的应用程序即是合格的,反之即是不合格的;同时,还要适当选择测试内容,合理安排测试人员、测试时间及测试资源等。

      2.测试设计

      将测试计划阶段制订的测试需求分解、细化为若干个可执行的测试过程,并为每个测试过程选择适当的测试用例(测试用例选择的好坏将直接影响到测试结果的有效性)。

      3.测试开发

      建立可重复使用的自动测试过程。

      4.测试执行

      执行测试开发阶段建立的自动测试过程,并对所发现的缺陷进行跟踪管理。测试执行一般由单元测试、组合测试、集成测试、系统联调及回归测试等步骤组成,测试人员应本着科学负责的态度,一步一个脚印地进行测试。

      5.测试评估

      结合量化的测试覆盖域及缺陷跟踪报告,对于应用软件的质量和开发团队的工作进度及工作效率进行综合评价。

      显然,黑盒测试只有严格按照步骤进行,才可能对应用程序的质量进行把关。然而,如果没有一种优秀的测试工具的帮助,单纯凭借手工测试,不但将耗费大量的人力、物力和财力,而且有很多测试工作是难以实现甚至是无法实现的。

      三、手工测试与自动测试的比较

      手工测试无法保证黑盒测试的科学性与严密性,这是因为:

      ●测试人员要负责大量文档、报表的制订和整理工作,会变得力不从心;

      ●受软件分发日期、开发成本及人员、资源等诸多方面因素的限制,难以进行全面的测试;

      ●如果修正缺陷所花费的时间相当长,回归测试将变得异常困难;

      ●对测试过程中发现的大量缺陷缺乏科学、有效的管理手段,责任变得含混不清,没有人能向决策层提供精确的数据以度量当前的工作进度及工作效率;

      ●反复测试带来的倦怠情绪及其他人为因素使得测试标准前后不一,测试花费的时间越长,测试的严格性也就越低;

      ●难以对不可视对象或对象的不可视属性进行测试。

      因此,自动测试成为最佳的解决方案。所谓自动测试,实际上是将大量的重复性工作交给计算机去完成,一个优秀的自动测试工具,不但可以满足科学测试的基本要求,而且可以节约大量的时间、成本、人员和资源,并且测试脚本可以被重复利用(包括被不同的项目所利用)。
  • 手机软件系统测试(转)

    2008-08-21 09:25:32

    手机软件系统测试

    系统测试方法分为:功能测试,一致性测试,性能测试,压力测试,容量测试,安全性测试,恢复性测试,备份测试,GUI测试,健壮性测试,兼容性测试,可用性测试,可安装性测试,文档测试,在线帮助测试以及数据转换测试等。

     从手机软件系统测试的角度分为:功能模块测试,交叉事件测试,压力测试,容量性能测试,性能测试和用户手册测试等。

      下面就以短消息为例来阐述,手机软件测试的一般方法和测试的要求,供大家参考。

    一.短消息[SMS]的基本功能测试

    1、短消息的基本功能:是指短消息的编辑,删除,保存,收发,显示,以及各种按钮等功能的正常实现。

    2、测试要求和执行:一般根据测试案例或软件本身的流程就可以完成短消息的基本功能测试。     

    二.短消息的交叉事件测试

    1、交叉测试:又叫事件或冲突测试,是指一个功能正在执行过程中,同时另外一个事件或操作对该过程进行干扰的测试。例如通话过程中接收到短信或来响闹。应该以执行干扰的冲突事件不会导致手机死机或花屏等严重的问题出现为Pass的标准。

    2、测试要求和执行:干扰要恰到好处,准确,否则很难发掘出深层次的软件缺陷。

    三.短消息的压力性能测试

    1、压力测试:又叫边界值容错测试或极限负载测试,即测试过程中,已经达到某一软件功能的最大容量,边界值或最大的承载极限,仍然对其进行相关操作。例如连续进行短信的接收和发送,超过收件箱和PIM卡所能存储的最大的条数,仍然进行短消息的接收或发送,以检测软件在超常态条件下的表现,来评估用户能否接受。

    2、测试要求和执行:可以考虑进行自动化测试

    四.短消息的容量性能测试

    1、容量测试:又叫满记忆体测试,包括手机的用户可用内存和SIM/PIM卡的所有空间被完全使用的测试。此时再对可编辑的模块进行和存储空间有关的任何操作测试,如果软件的极限容量状态下处理不好,有可能导致死机或严重的花屏等问题的出现。

    2、测试要求和执行:可以考虑进行自动充满记忆体测试,要对不同品牌和不同容量大小的SIM/PIM卡进行测试

    五. 短消息的兼容性能测试

    兼容性测试:也就是不同品牌手机,不同网络,不同品牌和不同容量大小的SIM/PIM卡之间的互相兼容的测试,以短消息为例:中国电信的小灵通接收到从中国移动或中国联通GSM发来的短消息,接收,显示和回复功能是否正常等。

Open Toolbar