抓包技术

WEB\APP\小程序\PC-burp\Yakit

抓包工具:

①burp

②yakit

一、抓包技术前提

安装证书:(用哪些抓包软件就要安装哪些软件的证书)

①浏览器安装证书:解决本地抓HTTPS报文

bp导出证书后安装证书,安装在:受信任的根证书颁发机构、中间颁发机构。

②模拟器安装证书:解决模拟器抓HTTPS报文

雷电模拟器为例子:将burp导出的的证书安装到模拟器

③真机器(指的是手机比如ios、鸿蒙、安卓)安装证书:解决真机器抓HTTPS报文

手机模拟器APP抓包:

1、模拟器安装了bp证书

2、在模拟器配置模拟器的网络。一般情况下,模拟器都是使用WIFI接入网络,因此在模拟器的WIFI配置中,设置“代理”,其中代理的ip地址为物理机的以太网适配器/无线局域网适配器的IP地址。而端口则配置一个不和其他要使用端口重复的端口号。

3、在burpsuite上,在监听设置处使用“specific address”配置第二步的IP地址(选择或设置成第二步的IP地址即可),端口也按照第二步的端口号进行配置。

可能遇到的问题:

①APP代理检测(抓不了包)

②APP证书校验(抓不了包)

③APP模拟器检测(运行不了)

小程序抓包:

1、需要使用转发工具:proxifier配合burpsuite

2、在proxifier上配置IP为127.0.0.1(与burp一样)端口为8888(与burp一样)

3、在proxifier上配置代理规则:应用程序处输入要抓的小程序名称.exe(打开小程序,打开任务管理器,在任务管理器中找到小程序的进程,右键进入小程序所在文件夹,找到小程序名称.exe);然后在“动作”设置成“proxy https 127.0.0.1”实现转发。

4、在proxifier代理规则处,将默认的规则的“动作”设置成“direct”,否则会转发大量的数据包无法正确抓到小程序的包。

PC应用抓包:

与小程序抓包同理。


yakit

抓包:使用MITM中间人劫持功能

配置:

1、免配置启动(需要谷歌浏览器)

2、参考burp,下载yakit的证书,安装,然后在yakit左上角系统设置

yakit与burpsuite的区别,抓APP的包时,在yakit的“劫持代理监听主机”处设置成0.0.0.0(监听所有网卡)


抓包工具联动:

1、流量从burpsuite处理再到yakit

①burp正常设置监听127.0.0.1:8088

②yakit设置监听127.0.0.1:8083

③Burpsuite->User options->Connections->Upstream Proxy Servers->添加一条上游代理(SSR-HTTP)
Destination host:目标网站域名或者IP,支持通配符,填写*
Proxy host:SSR-HTTP代理服务器的IP地址,即127.0.0.1
Proxy port:SSR-HTTP的代理端口,即1081
Authentication type:这里选择认证类型,由于SSR本地代理无需认证,这是选择None

2、流量从yakit处理再到burpsuite

①MITM交互式劫持处,“劫持代理监听主机”设置成127.0.0.1,“监听端口”设置8083,然后在“下游代理”处配置代理认证,如burp监听ip为127.0.0.1监听端口为8088,则设置成“http://127.0.0.1:8088”。意思是流量先从yakit的8083经过,再转发到burp的8088端口。

②burpsuit按照普通设置即可。


配置代理抓包:clash->burp->yakit

目的:目标需要梯子;ip需要隐藏

①clash使用全局代理

②burp配置上游代理:Burpsuite->User options->Connections->Upstream Proxy Servers
配置ip:127.0.0.1,配置端口7890(以clash为例子)

③此时浏览器或者系统代理监听burp端口如8888

④burp配置监听ip127.0.0.1,监听端口8888

yakit配置同理,因此从这里看出burp的upstream proxy 和yakit的下游代理是一个回事。


全局协议抓包:

使用工具:wireshark、科来

目的:

①解决部分代理校验:

APP/PC应用检测到物理机使用了代理后,设置策略拒绝被抓包。wireshark、科来抓的是网卡。

②APP/小程序/PC应用

由于应用类型不同,不是所有数据都是https

③蓝队分析TCP/UDP流量

敏感端口

1、操作系统
Linux(必备)、微软

2、负载均衡
DNS、F5、LVS、Nginx、OpenResty、HAproxy、负载均衡SLB(阿里云)

3、分布式框架
Dubbo、Motan、Spring-Could

4、数据库中间件
DRDS (阿里云)、Mycat、360Atlas、Cobar (不维护了)

5、消息队列
RabbitMQ、ZeroMQ、Redis、ActiveMQ、Kafka

6、注册中心
Zookeeper、Redis

7、缓存
Redis、Oscache、Memcache、Ehcache

8、集成部署
Docker、Jenkins、Git、Maven

9、存储
OSS、NFS、FastDFS、MogileFS

10、数据库
MySql、Redis、MongoDB、PostgreSQL、Memcache、HBase

11、网络
专用网络VPC、弹性公网IP、CDN

原文链接:https://blog.csdn.net/daijin888888/article/details/80160288

网站分类、技术

一、网站的细分

①主站

www.baidu.com

②分站

blog.baidu.com //也叫子域名

③端口站

www.baidu.com:8088

④目录站

www.baidu.com/zweb/

⑤子站

123.blog.baidu.com

了解目的:若其他网站失陷,主站可能会受到影响。比如主站和分站共用同一个公网IP地址。

关联步骤:信息搜集-子域名搜集

相关工具:御剑

二、数据库的细分

①本地数据库 //网站与数据库使用相同的公网IP

由本地服务器搭建

②分离数据库 //网站与数据库使用不同的公网IP

由其他服务器搭建

③云数据库

如阿里云云服务器专门起一个MYSQL,此时网站关联的数据库外网地址可能是:rm-xxxxxxxx.mysql.rds.aliyun.com(RDS) //可以设置白名单IP,因此站库分离的情况下,即便获取了数据库的账号密码,除非攻陷了白名单的IP,否则也无法连接数据库。

三、平台的细分

①系统:windows、linux、macos //涉及-提权

②容器:docker、K8s、vmware、virtualbox //涉及-需要使用虚拟机的逃逸技术

③中间件:apache、nginx、iis、lighttpd、tomcat、jboss、weblogic、websphere、jetty等 //涉及-能解析的文件类型不同


网站搭建差异:

① 宝塔搭建:需要绕过宝塔限制

②镜像环境搭建:需要提权横向

③docker容器搭建:需要逃逸提权


网站的前后端代码差异:

①前端:nodejs、vue等

②后端:php、java、python等


web使用的应用技术(影响渗透测试效果)

①WEB+WAF:网络应用防火墙

软件型WAF(如长亭的雷池)

硬件型WAF(如长亭的雷池)

云WAF

内置WAF

②WEB+CDN:内容加速

影响渗透测试:隐藏真实源IP,导致目标测试错误,如对一个CDN进行测试也不会对原网站造成影响。

③WEB+OSS :云存储如阿里云OSS

影响:文件上传漏洞只能上传下载,但是不会解析代码,并且域名和网站没关系,因为域名是aliyun。

常见OSS:本机存储、从机存储、七牛、阿里云OSS、又拍云、腾讯云COS、onedrive、AWS S3

阿里云OSS的配置:使用API访问OSS时,需要使用AccessKey(包括AccessKeyId和AccessKeySecret)进行身份验证。

④WEB+反向代理

影响:渗透测试的目标只是一个代理为非真实的服务器,当前没有有效手段识别所进行渗透测试的IP是否为反向代理。

⑤WEB+负载均衡

影响:多个服务器加载服务,测试过程存在许多目标。如有多台服务器,渗透测试只对其中一台备份服务器进行了测试,而真正的主服务器不受影响。

PS:CDN和负载均衡的区别:CDN节点多,负载均衡少。通过超级ping等主动探测手段测试是否为CDN

漏洞库:https://www.yuque.com/u25571586/dyaqbugs?# 密码:xnzx

接口泄露:

swagger为例子:

登录接口:爆破密码

用户信息:枚举其他用户信息

文件上传:上传后门

票据交易:泄露敏感数据


网站使用的身份鉴权的主要分类:
①Cookie(常见、简单)

②Session

③Token(主流)

④JWT(主流)

⑤oauth2(主流,中大型网站,第三方验证)


参考:https://mp.weixin.qq.com/s/Z6rt_ggCA8dNVJPgELZ44w