我想从使用隐藏SAML身份验证的URL请求中捕获SAML响应。我能够在Fiddler中看到响应,但是如何保存它以进行进一步分析。通过URL发布重定向请求,带有“ 200 OK”的SAML响应到达提琴手,我想捕获它。是否有任何Powershell实用程序可用于执行相同操作,或者我是否必须使用某些模块自动使Fiddler本身。请提出是否还有其他选择。
我在Powershell中尝试了一些带有“ Invoke-WebRequest”的代码段,但是关于SAML响应却无法重现。
答案 0 :(得分:0)
嘟嘟响我自己的喇叭,但是我的chrome plugin会帮助您。它为开发工具控制台添加了一个ta。然后,标签会显示所有流量,并突出显示与saml消息相同的消息。当您单击一个时,它会以清晰的格式显示格式正确的saml xml。
答案 1 :(得分:0)
我尝试了很多事情,最终在phantomjs的帮助下几乎完成了它。
var page = require('webpage').create();
page.customHeaders={'Authorization': 'Basic '+btoa('USER:PASSWORD')};
// hook into initial request
page.onResourceRequested = function(request) {
//console.log("Request: "+ JSON.stringify(request, undefined, 4));
var req_json = JSON.stringify(request, undefined, 4);
if (request.method == "POST" && request.postData != null){
//console.log("Request: "+ JSON.stringify(request, undefined, 4));
console.log("SAML Req/Resp: \n" + request.postData);
}
};
// hook to response
page.onResourceReceived = function(response) {
//console.log("Response: "+ JSON.stringify(response, undefined, 4));
var resp_json = JSON.stringify(response, undefined, 4);
};
page.open("https://yourURLwithhiddenSAML");
现在,我可以使用SAMLRequest和SAMLResponse获取后数据,并将输出重定向到某些文件。但是,我还注意到了另一件事。如果我添加
phantom.exit();
在该函数内部,我无法获取包含SAML的完整请求/响应生命周期。