首页 > 其他分享 >JS逆向中 cookie加密的HOOK方法

JS逆向中 cookie加密的HOOK方法

时间:2023-04-24 16:47:39浏览次数:32  
标签:加密 val JS HOOK cookie cookieTemp 属性

Object.defineProperty(obj, prop, descriptor)
其中,参数 obj 是要定义属性的对象,        prop 是要定义或修改的属性名,        descriptor 是属性描述符对象。          属性描述符对象的属性包括 valuewritableenumerableconfigurablegetset 。这些属性中的大部分都是可选的,如果忽略它们,则它们将被设置为默认值 false

 

var cookieTemp ='';
Object.defineProperty(document,'cookie',{
    set:function (val){
    if (val.indexof('v') !=-1) {    //当val中包含‘V’的时候,就断住
        debugger;
    }
        console.log('Hook捕获到cookie设置->', val);
        cookieTemp = val;        //然后再把val赋值给 cookieTemp,返回出去,不改变原函数的逻辑
        return val;
},
    get:function (){
    return cookieTemp;
},
});            

这里的“V”是实际网页中 cookie的key,  可以在分析网站的时候,获取类似v的值,拿到这里来HOOK。
需要注意的是:1、 这段hook代码 放在控制台执行的,但是不能刷新网页,一旦刷新网页,这段代码就没有了。

       2、HOOK 住的这个断点,是cookie已经加密过的。如果想找到加密的点。下面就要跟栈了(在堆栈中往下找)。


       3、HOOK 前一定要先清除掉cookie

 

标签:加密,val,JS,HOOK,cookie,cookieTemp,属性
From: https://www.cnblogs.com/lyt263/p/17350020.html

相关文章

  • 把nginx的access_log以json的格式输出
    #在`nginx.conf`中添加如下配置log_formatjsonescape=json'{"@timestamp":"$time_iso8601",''"server_addr":"$server_addr",''"remote_addr":"......
  • JS逆向实战13——某市公共资源交易中心Cookie混淆加密
    "本文地址:https://www.cnblogs.com/zichliang/p/17346860.html目标网站aHR0cDovL2xkZ2d6eS5obmxvdWRpLmdvdi5jbi9sZGp5engvanl4eC9saXN0LnNodG1s网站分析经过浏览器抓包,我们可知这个网站会先发出一个412请求,然后附带一个js然后返回正常的页面。经过我们代码测试可知如......
  • web前端pdf.js预览pdf实例创建报错:Array. prototype` contains unexpected enumerable
    使用pdf.min.js是预览pdf文件,但是在实例化时异常报错,下面是实例化的代码varloadingTask=window.pdfjsLib.getDocument(url);console.log(loadingTask);this.pageNum=1;this.pageRendering=false;this.pageNumPending=null;loadingTask.promise.then((pdfDoc_)=>......
  • mysql8存取json
    1、建表CREATETABLE`test`(`id`bigintNOTNULL,`name`varchar(255)CHARACTERSETutf8mb4COLLATEutf8mb4_0900_ai_ciNULLDEFAULTNULL,`msg`jsonNULL,PRIMARYKEY(`id`)USINGBTREE)ENGINE=InnoDBCHARACTERSET=utf8mb4COLLATE=utf8mb4_0900_ai......
  • js 工具类
    /*是否带有小数*/functionisDecimal(strValue){varobjRegExp=/^\d+\.\d+$/;returnobjRegExp.test(strValue);}/*校验是否中文名称组成*/functionischina(str){varreg=/^[\u4E00-\u9FA5]{2,4}$/;/*定义验证表达式*/returnreg.tes......
  • json文件不能写注释
    原因分析:json文件不能写注释首先需要了解JSON有两种数据结构:1.名称/值对的集合:key:value;2.值的有序列表:就是Array;而在JSON的文档中说明只要是不符合上面两种结构的都不被支持,并提示错误添加注释//或者/**/在JSON文件中是不允许的。那么JSON如何才能加注释?1.使用key:v......
  • JS高级之手动实现new操作符
    相信大家都很好奇,在js中为什么函数在经过new操作之后会变成一个对象?functionFoot(params){this.name=params}Foot("aa")undefinednewFoot("aa")Foot {name:'aa'}实际上,new是一个语法糖从上面介绍中,我们可以看到new关键字主要做了以下的工作:创建一个新的对......
  • filebeat篇章——解析 json 日志
    解析json日志(Parsingjsonlogs)https://www.elastic.co/guide/en/beats/filebeat/8.7/running-on-kubernetes.html#_parsing_json_logs ItiscommoncasewhencollectinglogsfromworkloadsrunningonKubernetesthattheseapplicationsarelogginginjsonformat......
  • cookie、sessionStorage 和 localStorage
    cookie、sessionStorage和localStoragecookie1.基本概念Cookie是保存在计算机上的一种文件。当我们使用计算机浏览网页时,服务器会生成一个证书并将其返回给我们的计算机。这个证书就是cookie。一般来说,cookie是服务器写给客户端的文件,也可以称为浏览器缓存。简单来说,它可以......
  • JS中在浏览器外推送消息
    //请求显示通知的权限Notification.requestPermission().then(function(permission){if(permission==='granted'){//创建通知对象varnotification=newNotification('哇真的是你呀',{body:'你干嘛哎哟#@!~哈哈amagi',icon:'/......