教你用N种语言重放HTTP请求报文

admin 2021年12月11日14:31:18评论224 views字数 2323阅读7分44秒阅读模式
教你用N种语言重放HTTP请求报文


△△△点击上方“蓝字”关注我们了解更多精彩




0x00 前言

很久很久以前:
嫌疑人X某:burp报文怎么快速的重放测试菜鸡(我):burpsuite自带右键copy as curl功能。嫌疑人X某:那你试试菜鸡(我):linux下成功,win下可以使用cmder命令行。嫌疑人X某:简单点简单点简单点!!!

没有强迫症的我,早就知道burp插件商店有copy as python等插件。稍稍测试就推荐给了X。

生活从来都不简单,故事还没有结束。。。


0x01 SSL报错来袭
X某发给我copy as python的报错

教你用N种语言重放HTTP请求报文

熟悉的报错界面,百度告诉我这就是ssl证书的问题。
然后,我又跑去插件商店测试了copy as powershell等插件,最终发现都存在ssl证书相关的报错。




0x02 拯救两种语言的SSL
python-https报错解决:# -*- coding: UTF-8 -*- import requestsrequests.packages.urllib3.disable_warnings()...response = requests.request("GET", url, data=payload, headers=headers, verify=False)...--------------powershell-ssl报错解决:add-type @"using System.Net;using System.Security.Cryptography.X509Certificates;public class TrustAllCertsPolicy : ICertificatePolicy {public bool CheckValidationResult(ServicePoint srvPoint, X509Certificate certificate, WebRequest request, int certificateProblem) {return true;}}"@[System.Net.ServicePointManager]::CertificatePolicy = New-Object TrustAllCertsPolicy$headers = New-Object "System.Collections.Generic.Dictionary[[String], [String]]"...

然后又在github下载了插件源码进行改造。 
copy-as-python-requestshttps://github.com/portswigger/copy-as-python-requestscopy-as-powershell-requestshttps://github.com/portswigger/copy-as-powershell-requests

改造过程中发现这两个插件原理都一个样子,仅仅是简单的将Burp请求进行解析,然后按照http请求语法生成简单的请求代码。 

我猜,肯定有大佬写了那种支持N种语言的插件集合在一起,




0x03 拯救十种语言的SSL
果然,我在万能的github上搜到了相关插件 export.py 和。
支持N种常见的脚本语言。

Exporter Extension for Burp Suitehttps://github.com/artssec/burp-exporte
You can export as:cURLWgetPython RequestPerl LWPPHP HTTP_Request2Go NativeNodeJS RequestjQuery AJAXPowerShell
教你用N种语言重放HTTP请求报文
除Curl以外,基本上都存在一点点小小的bug。 
分别进行了小小的语法研究和报错解决,解决过程中学会了N种语言。
作为一个爱惜头发的人,自然不会让屏幕前的大家也承受这份痛苦。
bash curl 正常bash wget 无输出显示python requests https错误Go native https及语法错误 powershell https及语法错误perl LWP https错误NodeJS https错误php http_request2  https错误jquery ajax 本人前段菜鸡,报错不会修复 




0x04 追加
copy as * 和 export.py的对比。
export.py:支持多种语言,但每次只支持一个报文的脚本生成。copy as *:只支持一种语言,但支持多个请求报文的脚本生成。
PS:因为解析处理比较简单,在遇到请求报时json、xml等格式时可能会有新的错误发生,留下您的issuse(请求和报错)吧
后面也找到一个类似export的java的插件:
http-script-generatorhttps://github.com/h3xstream/http-script-generator
多种语言支持rubyperlphppowershhellpythonjavascript(xml)javascript(jq)
由于是已经有自己改好的了,就没有继续进行测试了。
感兴趣的朋友们可以自己试试



0x05 总结
NOVASEC公众号回复[酒零]获取github地址。
PS:主要是因为我是写完稿子才上传的项目

诚恳感谢原作的开源享!!!

团队大哥们这段时间都忙得很,感觉都在写年终总结以骗老板们的血汗钱。

END



如您有任何问题、建议、需求请后台留言NOVASEC公众号!

深入交流请添加专属客服-摸鱼小哥哥微信号

教你用N种语言重放HTTP请求报文

感谢大哥们的对NOVASEC的支持点赞和关注

加入我们与萌新一起成长吧!

本文始发于微信公众号(NOVASEC):教你用N种语言重放HTTP请求报文

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2021年12月11日14:31:18
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   教你用N种语言重放HTTP请求报文http://cn-sec.com/archives/494738.html

发表评论

匿名网友 填写信息