时间:2021-05-23
在Web渗透流程的暴力登录场景和爬虫抓取场景中,经常会遇到一些登录表单用DES之类的加密方式来加密参数,也就是说,你不搞定这些前端加密,你的编写的脚本是不可能Login成功的。针对这个问题,现在有三种解决方式:
PyExecJS官网案例
pip 安装:
pip install PyExecJS
Demo:
import execjsprint(execjs.eval("'red yellow blue'.split(' ')"))ctx = execjs.compile(""" function add(x, y) { return x + y; } """)print(ctx.call("add", 1, 2))输出:
['red', 'yellow', 'blue'] 3
查看JS引擎信息
# 1.在windows上不需要其他的依赖便可运行execjs, 因为默认有个JScript库,如果要运行其他JS引擎库,就需要另外安装了。 # windows默认执行的JS环境 execjs.get().name #返回值: JScript # 如果想要切换,用os.environ["EXECJS_RUNTIME"] = "XXX",如果刚安装完其他JS引擎,必须配置环境变量,还可能需要重启电脑或重启IDE。 # 如果windows上装有Node.js , 可以切换Node os.environ["EXECJS_RUNTIME"] = "Node" print(execjs.get().name) #返回值: Node.js (V8) # 如果windows上装有PhantomJSs , 可以切换PhantomJS os.environ["EXECJS_RUNTIME"] = "PhantomJS" print(execjs.get().name) #返回值: PhantomJS # 2.在ubuntu下需要安装执行JS环境依赖, 作者的环境为PhantomJS execjs.get().name #返回值: PhantomJS # 3.源码中给出, 可执行execjs的环境: PyV8 = "PyV8" Node = "Node" JavaScriptCore = "JavaScriptCore" SpiderMonkey = "SpiderMonkey" JScript = "JScript" PhantomJS = "PhantomJS" SlimerJS = "SlimerJS" Nashorn = "Nashorn"安装PhantomJS步骤
下载地址:
http://phantomjs.org/download.html
拷贝到脚本到你的Python环境里:
把下载下来的文件解压,找到目录里.\phantomjs-2.1.1\bin\下的phantomjs.exe,移动到使用的python文件夹下的Script中。
# 举例 Anaconda3D:\programfiles\Anaconda3\Scripts添加系统变量:
D:\programfiles\Anaconda3\Scriptsphantomjs.exe添加到系统变量中。
验证:
添加环境变量后,在cmd中验证可以使用phantomjs命令,说明环境搭建好了。
在python中切换成PhantomJS:
案例1
1.访问目标网站的登录页面并查看源码
访问 http://pile(js) pwd = jo.call('myf') print(pwd)
输出:
PhantomJSHu4Ujwqwe/PDAblIvjNyrX4NrltoRXXDdyC6+F+p0LaqPSegMZ16oIqeVPiHlh5x8zKeI2DC3DoPVf8ZlusUCQ==不同浏览器内核版本对URL编码处理也不同[冷知识]
当Html的表单被提交时,每个表单的参数都会被Url编码之后才能被发送。由于历史的原因,表单使用的Url编码实现并不符合最新的标准。例如对于空格使用的编码并不是%20,而是+号,如果表单使用的是Post方法提交的,我们可以在HTTP头中看到有一个Content-Type的header,值为application/x-www-form-urlencoded。大部分应用程序均能处理这种非标准实现的Url编码,但是在客户端Javascript中,并没有一个函数能够将+号解码成空格,只能自己写转换函数。还有,对于非ASCII字符,使用的编码字符集取决于当前文档使用的字符集。
总结
以上所述是小编给大家介绍的Python利用PyExecJS库执行JS函数的案例分析,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
Python调用JS文件中的函数方法如下1、安装PyExecJS第三方库2、导入库:importexecjs3、调用JS文件中的方法Passwd=execjs.
从python读取sql的方法:1、利用python内置的open函数读入sql文件;2、利用第三方库pymysql中的connect函数连接mysql服务器;
本文实例为大家分享了python修改装饰器中参数的具体代码,供大家参考,具体内容如下案例:为分析程序内哪些函数执行时间开销较大,我们需定义一个带timeout参
实际项目中会涉及到需要对有些函数的响应时间做一些限制,如果超时就退出函数的执行,停止等待。可以利用python中的装饰器实现对函数执行时间的控制。python装
本文为大家分享了python利用高阶函数实现剪枝函数的具体代码,供大家参考,具体内容如下案例:某些时候,我们想要为多个函数,添加某种功能,比如计时统计,记录日志