zoukankan      html  css  js  c++  java
  • Charles的几个用途

    1、拦截请求,篡改请求和响应

    拦截请求,修改请求可以测试网站中一些异常的情况,检查服务端是否有校验的情况

    检查是否存在漏洞,就看拦截之后修改过的数据是否写进了数据库

    使用方法:

    举例一:上传文件

    1、先打开charles工具(如下图,第4个开放断点的按钮要打开)——然后去浏览器中输入我们要访问的地址——会发现charles中会出现浏览器中访问的地址(这个时候你在浏览器操作,charlse就会记录下来)

     

    2、然后到你需要设置断点或拦截请求的页面后——在需要拦截请求的那一步操作之前(比如上传一个材料的操作,先点击上传材料按钮,然后就去抓包工具里面打断点),给访问地址文件夹设置断点(右键--Breakpoints,不要对具体的某个请求设置断点,而是整个访问地址文件夹)

    3、如果只是拦截请求,就回到浏览器中去刷新下——会发现charles中这个地址前面变红,无论浏览器中做什么操作,charles中都不改变,并且浏览器中会一直转圈圈,访问不了

    4、如果需要拦截请求并篡改请求,跳过第3步,(步骤:打开charles——浏览器访问网页——访问到网页中需要拦截的那一步——charles打断点——浏览器中进行操作(比如上传某个文件)——回到charles进行篡改)

    4.1、在浏览器页面操作上传文件,比如1.txt

     

    4.2、然后会自动跳转到或手动打开charles断点操作页面Breakpoints的概述,右侧会出现Edit Request的编辑框——点击Edit Request

    4.3、点击Text,对上传的文件进行修改,比如改成1.asp这个文件

    4.4、点击1次execute,进入到Edit Response页面中,点击JSON Text可以查看到,刚刚我们修改过的文件后缀已经变成了asp这个后缀

     

    4.5、再次点击Execute,再回到网页上去看,刚刚上传的1.txt是否变成了你修改过后的名字,并且去看下数据库里面是否有插入一条你修改过后的数据,如果有,则表示请求被篡改了,需要修改

    其实4.4的步骤中已经看到上传.asp这个文件的情况了,展示的情况就是数据库里面展示的文件名之类的,大家可以去数据库,也可以去附件存储路径里面能查到.asp文件

     

     

    5、如果需要拦截请求并篡改响应:跳过第3步,直接在页面操作上传文件1.txt,然后会自动跳转到或手动打开charles断点操作页面Breakpoints的概述,右侧会出现Edit Request的编辑框——直接点击Execute——会出现Edit Reponse——找到响应中的JSON Text输出结果,进行修改,点击Execute,浏览器是会输出篡改后的请求,数据库里面是篡改之前的,这个是正常的情况,(感觉这个篡改响应没什么用)

    总结:看这个程序有没有问题,就看数据库到底有没有入库

     

    如果篡改请求后,得到的响应结果和实际结果不一致,则表示是有问题的

     

    举例二:检查密码是否密文传输,在Edit Request的Text里面可以看到是否加密处理了

    2、域名映射

    请求地址a会快速到达请求地址b上,一般是为了快速把请求转发到另外一个环境上,比如正式环境的接口和测试环境的接口不一样时,测试环境测试通过之后需要用到正式环境的接口去进行测试,开发重新打包比较浪费时间,可以采用这种域名映射

    使用方法:

    Tools——Map Remote——勾选Enable Map Remote——Add添加后,输入from的域名,和to的域名,如果必要要写请求协议,点击OK再去访问from的域名会发现,访问的是a的地址,但是页面是b的页面

    注意:访问完成之后,Enable Map Remote前面的勾选框一定要去掉,不要勾选

     

    3、弱网测试

    使用方法:

    Proxy--Throttle Settings--勾选--设置弱网测试

     

    4、过滤请求

    只想看你想看的域名,就可以设置包括include的内容

    使用方法:

    Proxy——Recording Settings——Include——域名输入*sss*,一定要加通配符——网页中只要域名中包含sss的,在charles中都能抓到

     

    5、抓手机的包

    通过配置后,手机访问浏览器,charles工具也可以抓到信息

    使用方法:

    1、确定手机和电脑在同一个局域网,能互相ping通(charles中Help--Local Ip Address查看)

    2、手机在连wifi的地方设置代理,配置代理改为手动--服务器ip连1中查看到的ip,端口默认是8888,点击右上角的存储--charles中会弹框说是否允许--允许后手机端访问浏览器,抓包工具中就会出现抓包信息

     

  • 相关阅读:
    Authorize 示例
    javscript 实现iframe加载内容页出现Loading效果
    泛型的Distinct(IEqualityComparer)的用法
    关于ViewData与TempData
    将表 自增长列 清零 循环插入时间自增长
    linq count() sum() Min() Max() Average() 用法
    分页的存储过程
    将图片文件与文本文件合并成图片文件
    asp.net mvc利用Json验证数据和导向页面,解决重复提交问题
    JQUERY DIV浮动提示信息
  • 原文地址:https://www.cnblogs.com/mihoutao/p/10601171.html
Copyright © 2011-2022 走看看