我想从使用隐藏SAML身份验证的URL请求中捕获SAML响应。我能够看到Fiddler的反应,但如何保存它以供进一步分析。通过URL发布重定向请求,SAML响应“200 OK”到达fiddler并且我想捕获它。是否有任何可用于执行相同操作的Powershell实用程序,或者我是否必须使用某个模块自动化Fiddler本身。请建议是否还有其他选项。
我在Powershell中尝试了一些带有“Invoke-WebRequest”的片段,但是无法重现SAML响应。
嘟嘟我自己的号角,但我的chrome plugin将帮助你。它为开发工具控制台添加了一个ta。然后选项卡显示所有流量并突出显示与saml消息相关的内容。单击一个时,它将以明文形式显示saml xml。
我已经尝试了很多东西,最后在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");
现在,我可以使用SAML请求和SAML响应获取发布数据,并将输出重定向到某个文件。但是,还有一件事我注意到了。如果我加
phantom.exit();
在函数内部,我无法获得包含SAML的完整请求/响应生命周期。