渗透测试工作记录


文章目录

  • 渗透测试工作记录
  • 前言
  • 一、Charles是什么?
  • 二、实现步骤(以Mac端抓包IOS微信小程序为例)
    • 1.在Charles下设置代理的端口
    • 2.分别在PC端和手机端安装证书
    • 3.关闭macOS代理,打开外部代理
    • 4.配置外部代理
    • 5.打开burp
    • 6.让Charles能解析https的包
  • 总结

前言

在我日常的渗透测试工作中,用的最多的软件就是Burp Suite,我觉得它功能多样,界面清晰简洁,即使是之前完全没接触过这类软件的人也可以很快上手,所以实际上在刚入行的时候我根本就没再去学去用什么其他的软件了。但随着测试的系统越来越多,我发现有时会遇到在Burp Suite中抓不到包的问题!我现在也不知道这种情况产生的原因,只知道在burp里抓不到包就无法进行常规的测试操作,令我这个菜鸟感到非常着急(唉~

目前遇到过两种抓不到包的情况:一是微信小程序,二是测试APP的时候在进入APP和登录时都可以正常抓到包,但偏偏进了需要测试的功能点之后就抓不到包了。

听大佬说,要用“全局代理”,要用“花瓶”……虽然不是很懂但是去安装了Charles并学了一下怎么使用,然后顺利在burp中抓到了包,在这里记录一下以备未来如果忘记了可以翻一翻。

本文仅简单记录了在一次渗透测试工作中,通过借助Charles来解决burp中抓不到包的问题的配置步骤,不涉及Charles的具体功能介绍和如何安装等内容。


一、Charles是什么?

Charles 是在PC端常用的网络包截取工具,Charles 通过将自己设置成系统的网络访问代理服务器,使所有的网络访问都要经过它,从而实现了对网络包的截取和分析。
有关Charles比较全面的介绍和使用方法可以参考别人的这篇文章:https://www.jianshu.com/p/dd6a24f0c73d
PS:看了Charles的使用方法之后,我感觉Charles好像和burp的功能差不多啊,但是界面和操作方法似乎不如burp来的简洁,所以才没有burp那么出名吗?

二、实现步骤(以Mac端抓包IOS微信小程序为例)

1.在Charles下设置代理的端口

点击Charles窗口内上部工具栏图标的最后一个(Settings),点击弹出菜单中的Proxy Settings,填入代理端口 8888(或者自定义,但不能和系统已占用端口冲突),并且勾上“Support HTTP/2”和 “Enable transparent HTTP proxying”,点击右下角OK即可。

2.分别在PC端和手机端安装证书

先给PC端安装证书,点击位于屏幕顶端的菜单栏的Help,找到SSL Proxying,选择Install Charles Root Certificate按照提示就可以下载安装上。接下来是要把证书设置成信任(这很关键!方法在下面)。

安装PC端证书之后,在Mac的“钥匙串访问”(安装证书时“钥匙串访问”应该会自己弹出来)的左侧点击“系统”,从显示已安装证书的列表里找到Charles的证书,在证书位置点击鼠标右键,在出现的菜单中点击“显示简介”,展开窗口中的“信任”一栏,设置为“始终信任”。

再给手机端安装证书,步骤如下:
1.还是点击位于屏幕顶端的菜单栏中的Help并找到SSL Proxying,这一次选择有on a Mobile Device的这一项。
2.点击后会弹出窗口提示设置的方法,按照提示在手机端将代理设置为电脑的ip:8888,这里要先确保手机和电脑连接同一个无线网络。然后在手机的浏览器打开http://chls.pro/ssl,按提示下载证书即可。
3.下载证书之后同样很关键的步骤就是要设置证书为信任。在手机的设置->通用->关于本机->(滑到最下面找到)证书信任设置->找到并打开Charles Proxy CA的开关。


3.关闭macOS代理,打开外部代理

点击位于屏幕最上方菜单栏右侧的小花瓶logo,在下拉菜单中去掉macOS Proxy的勾选,再勾选上External Proxy Servers,如下图1。如果这里勾选了macOS Proxy,就是打开了本机的本地全局代理,相当于手动进行了操作:网络偏好设置->高级->代理->勾选上本地的http和https代理,如下图2。因为这里我是想在PC端抓手机端的包,所以没必要打开电脑的本地代理,但后面是要将Charles作为手机端的代理,再由Charles将包转发给burp,所以对于Charles来说,burp就成了一个“External Proxy Server”。(个人理解不一定对


PS:上图的本机http、https代理实际上在这里是不需要勾选的哈!

4.配置外部代理

点击屏幕顶端的Charles菜单栏中的Proxy,从下拉菜单中找到External Proxy Settings,勾选http和https代理,这里http和https的代理服务器地址都是127.0.0.1:8080.

5.打开burp

已经设置了外部代理了,就必须打开burp(当然了主要是要打开burp中对127.0.0.1:8080的监听),否则就会出现“连不上网了”的现象。在burp的菜单栏中的Proxy选项下的Options中打开127.0.0.1:8080的代理监听(默认应该是已经打开的),在Intercept中关闭请求拦截。

6.让Charles能解析https的包

完成上面的配置步骤后,从手机上打开微信小程序,登录并进入功能点,应该已经可以在Charles窗口左侧的列表中找到想抓的包。在想抓的https包的url处右击选择Enable SSL Proxying这一步非常重要,因为我曾经不知道这一步骤然后burp中依然抓不到包……
以上都完成后,再访问在手机端微信小程序中想要测试的功能点,此时burp中应该就可以抓到包了。


总结

以上就是今天要记录的内容。这里一定要注意的事情有:
1.PC端和手机端都需要安装burp证书和Charles证书,并且打开信任。
2.点击位于屏幕顶部右侧的Charles小花瓶logo,取消macOS Proxy的勾选,勾选上External Proxy Servers。
3.在Charles窗口左侧的列表中找到想要用burp抓包的url并右键选择打开SSL Proxying。
4.开了外部代理就一定要记得打开burp的127.0.0.1:8080监听,否则网络不通。
5.Charles中设置的外部代理的地址是127.0.0.1:8080,手机端代理的地址是电脑ip(与手机在同一网段):8888

如何通过Charles+BurpSuite的配合在PC端抓到手机包相关推荐

  1. Bus Hound 工具抓取串口数据(PC端抓取USB转串口数据)

    测试环境: PC端 USB转串口 链接终端板卡串口 目标:抓取通信过程中的通信数据 工具介绍: Bus Hound是是由美国perisoft公司研制的一款超级软件总线协议分析器,它是一种专用于PC机各 ...

  2. python爬虫登录微博_【新手学Python爬虫】微博网页PC端抓包分析和模拟登录

    本帖最后由 杀猪用牛刀 于 2020-4-2 23:59 编辑 首先我是一个python爬虫的新手,模拟登录也是我看b站模拟登录教学加自己琢磨完成的,其中很多分析很粗糙,还希望大家多多包涵:lol 话 ...

  3. Charles工具使用-pc端

    一.简介 Charles其实是一款代理服务器,通过过将自己设置成系统(电脑或者浏览器)的网络访问代理服务器,然后截取请求和请求结果达到分析抓包的目的.该软件是用Java写的,能够在Windows,Ma ...

  4. charles+Proxifier实现抓包pc端(exe程序)

    1.charles配置 1.1 勾选proxy-windows proxy 1.2 点击proxy-proxy settings 1.3自己定义一个代理端口(这里以默认的8888为例) 2.Proxi ...

  5. mac 上用charles 抓包pc端微信小程序

    原因:个别电脑打开pc端小程序接口报错,需要查看具体请求参数排除原因 配置charles 1.选择菜单栏Help->SSL Proxying->Install Charles Root C ...

  6. Day1使用Burpsuite抓包工具抓包,改变UA头使得手机和pc端界面互相转换

    1.前期工作:安装Burpsuite工具这里网上有许多教程,大致步骤如下: 找到安装包然后解压缩,然后双击 安装jdk,然后就是配置环境变量,如果是默认jdk安装路径没有更改路径的话就是跟如下一样 配 ...

  7. phpcms移动端和pc端_移动端调试大法

    文章:樊秀宝(北京中心-小易F8技术小组) 排版:suny 在日常项目中的开发中,接触移动端开发的小伙伴们免不了要和移动端调试打交道.本文总结了常用的移动端调试方法,欢迎大家学习和补充. 01 谷歌浏 ...

  8. 关于移动端布局和pc端写法

    一:移动端准备工作 <meta name="viewport" content="width=device-width, initial-scale=1.0, ma ...

  9. 移动端web和PC端web的区别汇总笔记

    页面的适配性: 传统PC端的页面开发一般都会选择给页面设定一个固定宽度,两侧有留白,但是移动端的页面由于其载体手机屏幕比PC要小很多,一般都会选择尽可能多的在手机屏幕上显示内容,这就要求移动端页面要能 ...

最新文章

  1. 总监调岗至前台,企业被判赔偿26万,法院:“侮辱性调岗”违法!
  2. linux 获取 基地址,linux - 每个函数加载的glibc基地址不同。 - SO中文参考 - www.soinside.com...
  3. 揭秘熊猫TV HEVC直播
  4. jQuery中animate的一个隐藏很深的坑
  5. Android 数据库加密
  6. QT开发(三十四)——QT多线程编程
  7. cad插件加载bplot成功用不了_教大家Batchplot使用常见问题的解决办法
  8. 当铺掌柜自制Typecho主题Pvcard主题
  9. java swing企业人事管理系统 java swing mysql实现的企业人事管理系统源码和导入文档(1013)
  10. 1T空间只是噱头而已! 网盘容量大战背后的技术秘密
  11. Rhythmbox中mp3中文乱码问题
  12. 适合高中生的计算机相关知识,高中生学习计算机知识的方向浅议.doc
  13. Python每天练习——小程序006
  14. 使用ASP.NET MVC Web SignalR 构建单身聊天室(一)
  15. vb与c语言数组传递,VB几种函数参数传递方法,Variant,数组,Optional,ParamArray
  16. yii mysql 查询 类型转换_yii2.0数据库查询修改等方法
  17. 记录学习向量的铭心刻骨的句子
  18. RTKLIB学习总结(五)后处理函数调用流程、postpos、execses_b、execses_r、execses、procpos、rtkpos
  19. 天正双击墙体不能编辑_【插件辅助下BIM正向设计】天正建筑 VS Revit
  20. java蚂蚁智力题,智力题大全_附答案

热门文章

  1. 前端培训出来的人,公司怎么看呢?
  2. 考学硕研究生通信专业多还是考计算机专业,我为什么考南邮通信专业硕士研究生...
  3. 电源管理芯片:LED驱动电源芯片的计划及面积
  4. 如何给老师写信?收到斯坦福/UCL/CMU/NYU/UW的博士offer的经验
  5. 实战:为图片生成文本摘要
  6. 中国的生存法则变了,你再不懂就晚了
  7. HackTheBox-RSAisEasy
  8. 《三、企业级SVN运维实战:SVN服务配置https访问》
  9. JavaScript 《公司开发功能》 99+ 大合集
  10. 用C语言进行公英单位转换方法