Dawnnnnnn

随缘记录_(:3 」∠ )_

记录一些平时遇到的问题_(:3 ⌒゙)_


欢迎(〃∀〃)

App抓包出现网络错误的解决办法

水一篇文章。。。因为最近有人问这个。

之前我刚开始学抓APP包的时候经常用fiddler或者charles,配置好https及手机证书后发现有的app能抓到,有的不行,不能抓到包的APP基本会报一个错,叫”网络错误”。

那这个是为什么呢,经过我的搜索查证,发现有这么几个原因(不足请在评论区指出):

  • 在Android 7.0(API 24) ,有一个名为“Network Security Configuration”的新安全功能。这个新功能的目标是允许开发人员在不修改应用程序代码的情况下自定义他们的网络安全设置。如果应用程序的SDK高于或等于24,则只有系统证书才会被信任。所以用户导入的Charles根证书是不被信任的。所以就抓不到包了。

  • ssl-pinning: APP在开发时就将服务端证书一块打包到客户端里。这样在HTTPS建立时与服务端返回的证书比对一致性,进而识别出中间人攻击后直接在客户端侧中止连接。

针对以上两张情况,目前都有解决办法,先说第一种情况:

  • 换一个 Android 7 以下的手机抓包(快捷方便,我就这么用的2333)
  • 用 Android 模拟器抓包
  • Root手机,将证书移到/system/etc/security/cacerts下,目前已经有 APP(root-certificate-manager-root) 支持一键配置
  • 解包apk,改配置文件,再重新打包

第二种情况:

主要通过hook解决,因为平时抓包没这种需求,所以不是很了解,只把网上已知的方法记录下。

最近的文章

Url去重学习

之前面试的时候被问到是否了解过url去重,当时就说了个没有,电话完了之后就感觉不太对劲,没有也得说点东西啊…其实当时想到了一种去重的方法,将采集到的url使用md5加密存到数据库中,那么只需要比对md5就可以知道这个url有没有重复了,后来看了看去重的几种方法,感觉我当时想的好像也差不多…简直血亏..今天再系统的学习一遍有哪些去重方法吧。数据库存储适用于分布式爬虫,将url直接存到数据库中,爬取之前进行查询Hash Table哈希表在Python中的实现就是dict和set,都是用内...…

继续阅读
更早的文章

使用Jython开发flask-session-manager-for-burp插件

之前电面被问到是否开发过burp插件,回答没有。。很尴尬。。之前都是用burp自带的功能进行测试,没有了解过插件方面,今天看了看插件,发现好多不错的插件,打算自己魔改一个出来,就以flask-session-manager为基础改一个出来吧,方便平时的测试,后期如果再改的话,可能要改成爆破secret_key的方式来探测是否是弱密钥。Jython开发环境搭建本机是Mac,所以只讲一下Mac上的安装方式brew install jython$ jythonJython 2.7.1 (defa...…

继续阅读