宜春网站开发,小型视频网站建设,软件最全的软件商店,最近新闻事件2000块钱嫌低#xff1f;这个6位数的项目#xff0c;你可不能错过#xff0c;关注有好礼。 最近写了一篇“接了一个2000块钱的活#xff0c;大家看看值不值”的文章#xff0c;发现流量和大家互动的热情出奇的高#xff0c;可能是跟有钱有关的缘故#xff0c;大家不是奔… 2000块钱嫌低这个6位数的项目你可不能错过关注有好礼。 最近写了一篇“接了一个2000块钱的活大家看看值不值”的文章发现流量和大家互动的热情出奇的高可能是跟有钱有关的缘故大家不是奔着技术来的更多是想看看这个2000块钱的项目到底是啥到底值不值这个价
接了一个2000块的小活大家进来看看值不值附源码-CSDN博客 先别管这个项目他到底值不值吧至少呢这篇文章给我的公号至少博得了100个新粉丝CSDN更是冲击到了地区榜前3哈哈有点小意外。真的非常感谢大家希望大家继续关注和互动增加我输出的动力另外别忘了关注我的公号新质程序猿会有额外惊喜那里也可以直接找到我CSDN 私信只能回复 5 个陌生人/天。 为了迎合大家的口味呢今天我又把我古董级的曾经为我挣了 6 位数的小项目分享给大家今天先不介绍之前具体做了啥纯粹是先把这个重量级的小项目先分享出来今天只讲技术后续我再分享如何挣钱的您的留言互动关注是我持续输出的源泉哟让我找到成就感才更有动力。
想必大家都知道 fiddler 吧就是一款流行的抓包工具如果不知道的话可以留言求分享后续也可以简单介绍一下。
今天我要分享给大家的不是 fiddler, 而是通过 Java 实现了 fiddler 部分功能的一个开源项目
https://github.com/bytesops/jProxyhttps://github.com/bytesops/jProxy
项目介绍
jProxy 是一个 JAVA 编写的 HTTP 代理服务器类库支持 HTTP、HTTPS、Websocket 协议并且支持 MITM(中间人攻击大家可以自己搜一下HTTPS劫持算其中的一个具体实现直白点理解就是你原本想和小花说“我爱你”但是一天小强带着假发来到你身边冒充小花你就把这句话告诉了小强然后小强又带上面具冒充你跟小花说了一句“我讨厌你”然后就没有然后了)可以对 HTTP、HTTPS 协议的报文进行捕获和篡改。
熟悉 fiddler 的都知道 fiddler 可以截获 https 的内容本项目的价值区别于 fiddler 的点就是可以实现程序代码介入 http 请求的全过程至于能做什么大家可以自由想象欢迎留言区互动。
为了把技术讲的清楚一点还是从网上抄点干货吧抄书不算抄至少我筛选过的如有错误大家赶紧指正。
HTTPS协议
首先来回顾下https协议的ssl握手看不懂的也可以跳过不过建议好好看一下面试很有用 简单叙述下ssl 握手上面只是单向验证过程大多我们访问网站都是单向的除非一些银行网站或服务器之间会用到双向验证 客户端左侧向服务器发出ssl握手,发送client-random 随机数 服务器返回 ssl 证书和 server-randon 随机数 客户端校验 ssl 证书校验通过再生成一个premaster-secret 随机数用服务器证书里的公钥加密发送这个时候客户端已经可以通过三个随机数算出对称加密的密钥了 服务器用私钥解密 premaster-secret也拿到了三个随机数算出对称加密的密钥 两边都用算出来的对称密钥进行报文加密和解密传输中的信息都是密文
注意第 3 步非常关键ssl 证书是采用信任链的方式来验证 ssl 证书是否有效在计算机中都会内置好许多受信任的 CA 证书见下图 电脑查找设置- 管理计算机证书 而只有受信任的 CA 证书签发的 ssl 证书来访问浏览器才会验证通过不然就会提示证书不安全。 计算机内置的我们大体上认为是权威的不过也发生过 权威机构 证书泄露的事件那么我们是不是可以伪造一个呢现在有请小强。
自定义根证书
我们可以借助 openssl 自签一个 ca 证书并安装到自己的电脑里并且选择信任它相信小强是小花。
注如果为了快速验证上面的小项目不必自己生成可以直接使用项目里的 ca.crt 安装下面了解即可如遇到项目里的 ca 证书过期了可以尝试自行生成也可以留言我来更新。
# key 的生成生成 RSA 密钥openssl 格式2048位强度ca.key 是密钥文件名
openssl genrsa -out ca.key 2048# crt 的生成通过-subj 选项可以自定义证书的相关信息
openssl req -sha256 -new -x509 -days 365 -key ca.key -out ca.crt \-subj /CCN/STGD/LSZ/Obyteops/OUstudy/CNjProxyRoot生成了 ca.crt 即 ca 证书双击可以安装优先安装项目里的方便演示 HTTPS拦截
安装证书后需要重启一下计算机不然证书可能有缓存浏览器不识别。 重启后执行项目里的
https://github.com/bytesops/jProxy/blob/main/src/main/java/com/github/bytesops/jproxy/HttpProxyServerApp.java
main函数启动项目
/*** 测试 main*/
public class HttpProxyServerApp {public static void main(String[] args) {System.out.println(start proxy server);HttpProxyServerConfig config new HttpProxyServerConfig();config.setHandleSsl(true);new HttpProxyServer().serverConfig(config).proxyInterceptInitializer(new HttpProxyInterceptInitializer() {Overridepublic void init(HttpProxyInterceptPipeline pipeline) {pipeline.addLast(new FullResponseIntercept() {Overridepublic boolean match(HttpRequest httpRequest, HttpResponse httpResponse, HttpProxyInterceptPipeline pipeline) {// 在匹配到百度首页时插入jsreturn HttpUtil.checkUrl(pipeline.getHttpRequest(), ^www.baidu.com$) HttpUtil.isHtml(httpRequest, httpResponse);}Overridepublic void handleResponse(HttpRequest httpRequest, FullHttpResponse httpResponse, HttpProxyInterceptPipeline pipeline) {// 打印匹配到的 hostString host httpRequest.headers().get(HttpHeaderNames.HOST);System.out.println(host);// 修改响应头和响应体httpResponse.headers().set(handle, edit head);httpResponse.content().writeBytes(scriptalert(hello jproxy)/script.getBytes());}});}}).start(9999);}
}开启代理
启动项目后需要开启代理才能拦截到请求目前还做不过 fiddler 的自动也欢迎大家提 PR 一起改进代理开启也很简单电脑网络配置代理手动配置代理记得点保存哟 访问网站
打开浏览器访问百度首页
https://www.baidu.com
即会弹出 F12 打开控制台也可以刷新页面可以看到 响应头 中多了一条记录 关注有后续
大家记得三连哈我的博文绝不会设置收费或者关注才能查看全文的分享你就好好分享耍什么小伎俩啊虽然说涨粉确实效果不错但我真的觉得恶心大家愿意关注就关不愿意拉倒。
另外也希望大家多多关照我的公号自愿新质程序猿上面的推文可能更实时不迷路不强求不过我准备的有福利大家可以领完再取关都行小心我托梦打你哈哈哈。
这个小项目就分享到这里吧后续再具体介绍我是如何通过这个项目挣到 6 位数的大家也可以尝试互动起来说不定有好项目可以一起做。