0x01.web请求、web环境、抓包技巧
网站搭建
- DNS解析
- 域名选择
- http/https
- 证书
- 服务器
web应用环境架构
操作系统
- linux
- windows
开发语言
- php
- java
- ASP/ASPX
- python等
程序源码
- CMS
- 开发框架等
中间件容器
- apache
- nginx
- IIS
- weblogic
- JBoss
- tomcat等
数据库类型
- Access
- mysql
- mssql
- oracle
- redis
- MongoDB等
第三方软件
- phpMyadmin,虽然这个插件方便了管理员,但是同时也方便的了攻击者。很多数据库会对ip做限制,关闭外联,但是使用phpmyadmin,可以直接绕过这些
- vnc等
web漏洞分类
- SQL注入
- XSS注入
- 未授权访问
- 越权逻辑
- 文件安全
- CSRF/SSRF/CRLF
- 弱口令
- RCE
- XXE
web请求
POST和GET
- get仅仅会检索url地址,明文传输
- post不仅会检索url地址,还会检索请求体的数据。在请求体中传输,post会向服务器提交表单,name是给服务器看的。
互联网是如何工作的?
客户端是典型的 Web 用户入网设备(比如,你连接了 Wi-Fi 的电脑,或接入移动网络的手机)和设备上可联网的软件(通常使用像 Firefox 和 Chrome 的浏览器)
服务器是存储网页,站点和应用的计算机。当一个客户端设备想要获取一个网页时,一个网页的拷贝将从服务器上下载到客户端的机器上来在用户浏览器上显示

浏览器如何通过互联网获取网页数据?
浏览器请求DNS服务器获取相应的域名的服务器IP
建立TCP连接,三次握手
浏览器发送HTTP请求到服务器拷贝一份网页到客户端
服务器响应,将网页文件以数据包形式传输到浏览器
这里面服务器可能有多台,需要一个负载均衡设备来平均分配
关闭TCP连接,四次挥手
用户浏览器,渲染相应页面
获取数据后,浏览器内部会发生什么?
在地址栏输入内容时,浏览器的UI线程会捕捉输入内容
如果是网址,则UI线程会启动一个网络线程来请求数据(如上)
如果不是网址,会调用默认的搜索引擎搜索

通过safebrowsing(谷歌内部的一套站点安全系统)是否安全
通过之后,会返回UI线程,UI线程会创建一个渲染器进程来渲染页面。浏览器进程通过IPC管道将数据传递给渲染器进程

渲染器开始干活,前端的事情

文章

- 代理

- 完整流程

请求包
- UA头
- Cookie
- X-Sign-Js:说明参数已经处理过了,所以生成了X-Sign-Js,故修改了参数之后,和原来处理后生成的X-Sign-Js匹配不上了,过不了校验。大部分是前端校验,需要找出密钥和加密函数,进行断点调试。后端校验的话,暂时没思路。
返回包
- server
- 状态码
- 文件判断:200存在,404不存在
- 文件夹判断:403存在,404不沉溺在
代理服务器
- 抓包分析
- 实现转发访问
抓包&封包
抓包抓到的是一些零散的,封包则是对一个完整的动作进行抓取,整体测试触发触发时间数据包(精确)
抓包
根据协议来分的话,可以分成两类:
- HTTP/HTTPS:charles、fiddler、burpsuite
- 其他协议(TCP/UDP等):科来、TCPDump、Wireshark
封包
- 封包傻瓜工具
- 远古封包三件套:代理机器人、CCproxy、WPE
抓包对象
app
思路:app抓包,找到web资产,进行测试。很多app不走http/https,最好直接用呆瓜封包软件
基本流程:
- 使用模拟器,强力推荐逍遥模拟器
- 配置工具证书
- 在模拟器设置代理
解决app抓不到包!!!!
如图,将证书只安装在用户证书中,app打开后无法正常使用。我们需要将证书安装在系统证书目录下

为什么会出现抓不到包?
- 安卓从7.0开始应用只会信任系统预装的CA证书,而不会信任用户安装的CA证书
解决方法
- 使用低于7.0的进行抓包
- 将使用的伪证书安装到系统证书目录中,伪装成系统证书
思路:
- 使用openssl将der证书转为pem证书,生成pem证书的hash,生成要使用的证书。
- 使用adb调试功能,将证书放到系统证书目录中。
具体步骤
- 导出证书,访问http://burp/,将burp.der保存到自己的kali中
- 打开kali终端,过程没有错误的话,生成的如下图
openssl x509 -inform der -in burp.der -out burp.pem//将der证书转为pem证书
openssl x509 -inform PEM -subject_hash_old -in burp.pem//生成pem证书的hash
cp burp.pem 9a5ba575.0//得到Hash值后,将证书文件修改名称为Hash值.0

- 将生成好的证书,放到模拟器的目录下,这里使用的是逍遥模拟器

- 依次执行,执行完成之后就可以抓包了
adb root // 提升到root权限
adb remount //重新挂载system分区
adb push 9a5ba575.0 /system/etc/security/cacerts/ //将证书放到系统证书目录
- 注:
主流安卓模拟器连接方式:
夜神模拟器:adb connect 127.0.0.1:62001
逍遥安卓模拟器:adb connect 127.0.0.1:21503
天天模拟器:adb connect 127.0.0.1:6555
海马玩模拟器:adb connect 127.0.0.1:53001
网易MUMU模拟器:adb connect 127.0.0.1:7555 MacOS:adb connect 127.0.0.1:5555
genymotion模拟器:adb connect 127.0.0.1:5555
谷歌原生模拟器:adb connect <设备的IP地址>:5555
charles
help--->register
Registered Name: https://zhile.io
License Key: 48891cf209c6d32bf4
proxy--->proxy setting,默认端口是8888

proxy--->SSL proxy setting,SSL代理

help-->SSL proxying-->Install Charles Root Certificate,安装证书!!!!选择本地计算机、受信任的根证书颁发机构

- 设置代理!!!,注意需要打开charles,代理主机名填写local IP Address,不清楚可以在charles的
help-->local IP Address查看

- 逍遥模拟器下载证书!!!!,输入
chls.pro/ssl

- 安装证书,
设置-->网络和互联网-->网络偏好设置-->安装证书命名成charles,成功抓包
fiddler
- 下载链接:
https://pan.baidu.com/s/14C0bOTICZADj03ZGx_eygw
提取码: chdi - 按照图片勾选,并且将证书导出

- 勾选该选项,可进行app抓包

- 设置代理,fiddler默认端口是8888

- 逍遥模拟器下载证书,输入
192.168.1.8:8888

- 自动安装证书,或者手动
设置-->网络和互联网-->网络偏好设置-->安装证书命名成fiddler
burp
- 在burp中设置ip和port

- 逍遥模拟器下载证书

- 下载好后,
文件管理器-->download将后缀改成cer

- 这时候会自己弹出安装证书,或者可以去设置那里手动安装证书,成功抓包
httpcanary
下载地址:链接: https://xiao6ming6.lanzouq.com/iQcB902w15pg 密码:4wby
设置----->SSL证书设置----->安装httpcanary根证书,抓包的时候开启右下角的小飞机
参考链接:https://blog.csdn.net/weixin_53891182/article/details/124739048

pc应用
这里的pc应用,指电脑应用程序,比如像有道词典
- 科来
- wireshark
- tcpdump
- 封包工具也可以试试
因为很多都不走http/https协议,大多是tcp/udp等,找到ip后,ip反查,扫端口,扫目录
小程序
proxifier+burp
- 设置本机ip,端口可以自己定,我这里选择8080

- burp中也设置本机ip,端口和proxifier一样

- 通过任务管理器,把这两个添加进来

封包
封包流程:
方法一:直接用呆瓜封包软件
- 这里是雷电模拟器,选LdVBoxHeadless.exe
对应进程:
雷电模拟器:LdBoxHeadless.exe
逍遥模拟器:MEmuHeadless.exe
夜神模拟器:NoxVMHandle.exe
天天模拟器:VBoxHeadless.exe

方法二:古老三件套
- 1. 关闭模拟器代理
- 2. 安装代理机器人

- 3. 点击ccproxy,进行如下两个地方设置,账号这里选择所有都抓



- 4. 设置好端口,端口和第四步的socks那同一个端口,然后开启代理

- 5. 打开WPE,选择CCproxy

Q&A
- 为什么抓包?
抓包应用的资产信息进行安全测试 - 抓包对象?
小程序、app、桌面应用
- 抓包协议区别工具?
有部分不走http/https协议,需要全局协议抓包 - 封包和抓包不同之处?
零散和整体的区别,封包能准确到每个操作的数据包
0x01.web请求、web环境、抓包技巧的更多相关文章
- Fiddler是最强大最好用的Web调试工具之一--网站抓包分析
Fiddler 教程 Fiddler是最强大最好用的Web调试工具之一,它能记录所有客户端和服务器的http和https请求,允许你监视,设置断点,甚至修改输入输出数据. 使用Fiddler无论对开发 ...
- NetAnalyzer笔记 之 五 一些抓包技巧分享(不定期更新)
[创建时间:2016-03-12 10:00:00] [更新时间:2016-05-21 10:00:00] NetAnalyzer下载地址 前一段时间应为工作关系,NetAnalyzer笔记系列已经很 ...
- 【Fiddler学习】Fiddler抓包HTTPS请求和手机抓包
一.安装Fiddler 百度搜索:Fiddler抓包工具,然后安装即可. 然后打开Fiddler工具,打开浏览器随意输入任何网址,就可以在Fiddler看到抓包信息. 但是:默认情况下,Fiddler ...
- Linux环境抓包命令
有时候有些接口调用问题不好定位或者日志不够详细,那么我们往往会选择通过抓包来看详细的通讯过程.抓包有相关软件,这里说如何直接在环境里抓.假如现在我们在 Linux 下部署了 Tomcat 服务器,端口 ...
- 使用被动混合内容的方式来跨越浏览器会阻断HTTPS上的非安全请求(HTTP)请求的安全策略抓包详解
/*通过传入loginId在token中附加loginId参数,方便后续读取指定缓存中的指定用户信息*/ GET /multitalk/takePhone.php?loginId=4edc153568 ...
- Mac 环境 下使用Charles 抓包Http/Https请求
实现目标 在Mac 上 对 iOS 真机 和 模拟器 进行 Http/Https抓包 使用工具 Mac 上 Charles 4.2 安装 参考链接 1. 和 链接 2. 抓包 http 请求 (1 ...
- .net core使用HttpClient发送代理请求_程序内抓包_Fiddler抓包
前言: 通过Fiddler抓取浏览器请求数据,相信大家已经都会用了,我们知道Fiddler是通过在本机计算器添加一个默认的代理服务器来实现的抓包数据的,端口号为:8888. 其实当我们打开Fiddl ...
- HTTP抓包实战
HTTP:超文本传输协议 允许将HTTP文档从Web服务器传送到客户端的浏览器.HTTP请求报文分为3部分.第一部分叫做起始行(Request line).第二部分叫首部(Request Header ...
- IOS抓包工具Stream——让移动端的抓包变得轻而易举
有一天下晚班回家,在地铁上的时候,开发发来信息说,能不能把之前创建的bug再抓包看下数据.顿时心里就想,在地铁上,我上哪抓包去.之后百度了下,发现ios有一款非常实用的抓包工具,大家可以上App St ...
- 《吐血整理》进阶系列教程-拿捏Fiddler抓包教程(10)-Fiddler如何设置捕获Firefox浏览器的Https会话
1.简介 经过上一篇对Fiddler的配置后,绝大多数的Https的会话,我们可以成功捕获抓取到,但是有些版本的Firefox浏览器仍然是捕获不到其的Https会话,需要我们更进一步的配置才能捕获到会 ...
随机推荐
- [数据分析与可视化] Python绘制数据地图5-MovingPandas绘图实例
MovingPandas是一个基于Python和GeoPandas的开源地理时空数据处理库,用于处理移动物体的轨迹数据.关于MovingPandas的使用见文章:MovingPandas入门指北,本文 ...
- MindSponge分子动力学模拟——定义一个分子系统(2023.08)
技术背景 在前面两篇文章中,我们分别介绍了分子动力学模拟软件MindSponge的软件架构和安装与使用教程.这里我们进入到实用化阶段,假定大家都已经在本地部署好了基于MindSpore的MindSpo ...
- WPF学习 - 自定义Panel
WPF中的Panel(面板),是继承自FrameworkElement的抽象类,表示一个可以用来排列子元素的面板. 在WPF中,一种预设了几种常用的面板,如Grid.StackPanel.WrapPa ...
- PC首页资源加载速度由8s降到2s的优化实践
随着需求的不断开发,前端项目不断膨胀,业务提出:你们的首页加载也太慢啦,我都需要7.8秒才能看到内容,于是乎主管就让我联合后端开启优化专项,目标是3s内展示完全首页的内容. 性能指标 开启优化时,我们 ...
- Content Security Policy(CSP)应用及说明
什么是CSP CSP全称Content Security Policy ,可以直接翻译为内容安全策略,说白了,就是为了页面内容安全而制定的一系列防护策略. 通过CSP所约束的的规责指定可信的内容来源( ...
- Haproxy搭建 Web 群集实现负载均衡
Haproxy搭建 Web 群集实现负载均衡 1 Haproxy HAProxy是可提供高可用性.负载均衡以及基于TCP和HTTP应用的代理,是免费.快速并且可靠的一种解决方案.HAProxy非常适用 ...
- Dubbo3应用开发—XML形式的Dubbo应用开发和SpringBoot整合Dubbo开发
Dubbo3程序的初步开发 Dubbo3升级的核心内容 易⽤性 开箱即⽤,易⽤性⾼,如 Java 版本的⾯向接⼝代理特性能实现本地透明调⽤功能丰富,基于原⽣库或轻量扩展即可实现绝⼤多数的 微服务治理能 ...
- 「joisc2016 - D3T2」回転寿司
题意大概是这样,「每次操作选出区间中的一个 LIS(strictly),满足其开端是极靠近左端点且大于 \(A\) 的位置,答案即这个 LIS 的末尾,做一个轮换后弹出序列末端」. 首先做几个观察. ...
- Linux-Stream内存带宽及MLC内存延迟性能测试方法
1.Stream内存带宽测试 Stream是业界主流的内存带宽测试程序,测试行为相对简单可控.该程序对CPU的计算能力要求很小,对CPU内存带宽压力很大.随着处理器核心数量的增大,而内存带宽并没有 ...
- 前端三件套系例之JQuery——JQuery动画效果、JQuery插件、
文章目录 1 JQuery动画效果 1. 基本效果 2. 滑动效果 3 淡入淡出效果 4 自定义动画 5 动画控制 6 设置 7 事件 7-1 常用事件 7-2 事件绑定 7-3 移除事件 7-4 阻 ...