zoukankan      html  css  js  c++  java
  • Python执行js之PyexecJs

    利用Python执行js

    爬虫中会经常碰到JS加密,当我们找到他加密的JS代码之后我们需要获取它的返回值,python虽然可以模仿js写一个python版本的加密,但是这样有点费时间,也有点费头发~

    安装PyexecJS

    注意:这块需要一个执行js的环境,我本地装的是NodeJS

    pip install pyexecjs

    执行JS

    举一个例子如下:

    import execjs
    js = execjs.compile(''' function genpvid() {
                    var a = (new Date).getTime();
                    var b = "xxxxxxxxxxxx4xxxyxxxxxxxxxxxxxxx".replace(/[xy]/g, function(b) {
                        var c = (a + 16 * Math.random()) % 16 | 0;
                        return a = Math.floor(a / 16),
                        ("x" == b ? c : 3 & c | 8).toString(16)
                    });
                    return b
                }''')
    result = js.call('genpvid') #call里面的参数第一个是js函数名称,如果要执行的js有参数,后面跟上参数就可以,如js.call('getpvid',2,3)这样
    print(result)
    

    结尾

    这个的缺点是需要执行JS的环境,如果不想安装nodejs,可以试试另一个库PyV8/js2py(js2py将 JS 代码直接转译成 Python 代码)

  • 相关阅读:
    Burp suite
    CTF 压缩包分析
    PHP代码审计
    SQL注入
    常考文件包含漏洞
    PHP黑魔法
    CTF WEB笔记
    MsSQL数据库提权
    ATT&CK实战系列
    Linux访问控制
  • 原文地址:https://www.cnblogs.com/jruing/p/12638972.html
Copyright © 2011-2022 走看看