当前位置: 首页 > news >正文

即墨网站建设公司新闻软文广告

即墨网站建设公司,新闻软文广告,手绘教学网站,网页模板下载工具本文是高级前端加解密与验签实战的第6篇文章,本系列文章实验靶场为Yakit里自带的Vulinbox靶场,本文讲述的是绕过RSA加密来爆破登录。 分析 这里的代码跟上文的类似,但是加密的公钥是通过请求服务端获取的 http://127.0.0.1:8787/crypto/js/…

本文是高级前端加解密与验签实战的第6篇文章,本系列文章实验靶场为Yakit里自带的Vulinbox靶场,本文讲述的是绕过RSA加密来爆破登录。

分析

这里的代码跟上文的类似,但是加密的公钥是通过请求服务端获取的

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

http://127.0.0.1:8787/crypto/js/rsa/generator

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

由于密钥是服务端生产的,服务端有公私钥信息,所以自然不需要传递公私钥了。

请求格式如下,只有被加密的内容:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

序列+热加载

序列

打开Yakit的Web Fuzzer,点击左侧的序列

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

选择从服务端获取密钥的那个数据包

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

使用数据提取器提取公钥

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

提取结果正常:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

再添加序列:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

先把请求体置空,编写热加载代码

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

热加载

本来之前写的是请求体格式跟上文一样,然后在热加载里请求来获取密钥,缺点也显而易见,每次登录请求都会多出了一个请求公钥的数据包,所以最后选择用Yakit的序列配合热加载标签传参来加密。

由于Yakit热加载标签只能传一个参数,这里感谢Yakit群群友Gun的帮助,给了我一个手动分割参数的函数。

把序列第一个请求提取到的publicKey变量和需要加密的数据传过去,由splitParams分割,然后传参给encrypt进行RSA加密。

序列格式:

{{yak(splitParams|{{p(publicKey)}}|{"username":"admin","password":"admin123","age":"20"})}}

热加载代码:

encrypt = (pemPublic, data) => {data = codec.RSAEncryptWithOAEP(pemPublic /*type: []byte*/, data)~data = codec.EncodeBase64(data)body = f`{"data":"${data}"}`return body
}//分割传过来的参数,每个参数中间以|分隔
splitParams = (params) => {pairs := params.SplitN("|", 2)return encrypt(pairs[0], pairs[1])
}

执行序列,爆破成功,使用序列的好处就是只获取一次公钥即可。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

之前的代码:

弃用代码,就不做解释了。

getPubkey = func(host) {//通过请求动态获取公钥rsp, req = poc.HTTP(f`GET /crypto/js/rsa/generator HTTP/1.1
Host: ${host}`)~body = poc.GetHTTPPacketBody(rsp) // 响应体params = json.loads(body)publicKey = str.ReplaceAll(params.publicKey, r"\n", "\n")println(publicKey)return publicKey
}encryptData = (packet) => {body = poc.GetHTTPPacketBody(packet)host = poc.GetHTTPPacketHeader(packet, "Host")pemBytes = getPubkey(host) // 获取公钥println(pemBytes)data = codec.RSAEncryptWithOAEP(pemBytes /*type: []byte*/, body)~data = codec.EncodeBase64(data)body = f`{"data":"${data}"}`return string(poc.ReplaceBody(packet, body, false))
}//发送到服务端修改数据包
// beforeRequest = func(req){
//     return encryptData(req)
// }//调试用
packet = <<<TEXT
POST /crypto/js/rsa/fromserver HTTP/1.1
Host: 127.0.0.1:8787
Content-Type: application/json
Content-Length: 179{"username":"admin","password":"123456","age":"20"}
TEXT
result = (encryptData(packet))
print(result)
http://www.tj-hxxt.cn/news/16241.html

相关文章:

  • 给博彩做网站如何进行品牌宣传与推广
  • 建免费的网站人员优化方案
  • 商业网站开发需求seo排名赚钱
  • ps软件免费下载破解中文版关键词查询优化
  • 做涉黄的视频网站用什么服务器百度推广下载安装
  • 武汉网站seo靠谱360站长工具seo
  • 网站业务维护郑州seo外包
  • 网站后台换图片培训学校管理制度大全
  • 网站设计培训百度扫一扫
  • 网站建设和微站建设的区别适合小学生摘抄的新闻2022年
  • 做网站只解析www的会怎么样seo优化网站优化排名
  • 搜狗网站收录入口郑州抖音推广
  • ueditor 文件大小超出网站限制线上推广宣传方式有哪些
  • 南通精诚建设集团有限公司网站广州百度推广外包
  • asp绿色网站源码培训推广 seo
  • 直销软件网网站seo课设
  • 网站设计论文结束语semester
  • 网站续费多少钱广州关于进一步优化疫情防控措施
  • 武汉自适应网站建设专业推广图片
  • 建立网站赚钱吗友情链接吧
  • 一台独立服务器如何做多个网站百度竞价价格
  • 物流网站app推广项目从哪接一手
  • 做网站不买服务器百度能搜到网络营销介绍
  • 平面设计官方网站营销技巧和营销方法心得
  • 昆明网站建设公司排行长沙整合推广
  • 网络培训的网站建设怎么找需要做推广的公司
  • 怎样创建网站流程google搜索关键词
  • 网站文件目录seo搜索引擎优化排名
  • wordpress同分类文章列表河南网站关键词优化
  • 订餐网站建设win10优化大师好用吗