在浏览器调试模式解码HTTP流量

admin 2025年1月11日13:38:32评论0 views字数 1035阅读3分27秒阅读模式

一、起因

在对态势感知平台的告警信息进行分析研判时,如果存在编码后的数据,可以进入浏览器的调试模式,利用javascript代码,手工进行解码操作,这样也很方便。

二、操作方法

(一)base64解码

//使用atob()函数,将base64格式的数据放在单引号中
atob('eyJvcmRlcklkIjoxMDMwNzY2NzcxfQ==')
在浏览器调试模式解码HTTP流量

(二)URL解码

使用decodeURI、encodeURIComponent、escape三个函数都可以解码。
decodeURI("http://www.baidu.com?id=1'%20or%201=1%20#")
在浏览器调试模式解码HTTP流量
decodeURIComponent("http%3A%2F%2Fwww.baidu.com%3Fid%3D1'%20or%201%3D1%20%23")
在浏览器调试模式解码HTTP流量
unescape('%25')
在浏览器调试模式解码HTTP流量

(三)html解码

//创建HtmlDecode()函数
function HtmlDecode(str) {
var t = document.createElement("div");
t.innerHTML = str;
return t.innerText || t.textContent
}
//调用并打印结果
var result = HtmlDecode('alert('1')')
console.log(result)
在浏览器调试模式解码HTTP流量
解码后的结果:alert('1')。
代码支持对html实体名称、html十进制实体编码和html十六进制实体编码进行解码。

(四)unicode解码

//使用console.log直接输出解码后的数据
console.log('u0061u006cu0065u0072u0074')
在浏览器调试模式解码HTTP流量
解码后的结果:alert

(五)hex解码

//创建函数hex_to_ascii,在函数中打印结果
function hex_to_ascii(str1)
{
var hex  = str1.toString();
var str = '';
for (var n = 0; n < hex.length; n += 2) {
str += String.fromCharCode(parseInt(hex.substr(n, 2), 16));
}
return str;
}
//调用函数
var str = "64767761";
hex_to_ascii(str)
在浏览器调试模式解码HTTP流量
解码后的结果:dvwa
16进制值0x64767761的前缀 0x去掉后,再作为str的值使用。

原文始发于微信公众号(新蜂网络安全实验室):在浏览器调试模式解码HTTP流量

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年1月11日13:38:32
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   在浏览器调试模式解码HTTP流量https://cn-sec.com/archives/1206890.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息