Java执行js加密算法 今日需求:在后端执行一段加密算法,算法是js写的 明白需求以后疯狂百度。...最后发现JDK提供了各种脚本的支持(怪笔者学艺不精,第一次见识到这个库,留下不学无术的泪水),正题开始,Java如何执行一段加密算法呢?...同时它也定义了getInterface方法来将js代码作为传入接口的实现,来调用这个方法。...= scriptEngineManager.getEngineByName("js"); //conwork.js文件是一个js的加密算法 InputStream resource...Invocable invocable = (Invocable) js; // 将js代码转换为该接口的实现,Method是自定义的接口,用来存放加密算法
前言 在渗透测试过程中,我们经常会碰到登录处用js加密字段的情况。在大多数情况下,看到这种加密方式,我们都会放弃对该登录处进行暴力破解。本文主要讲解对js加密进行绕过,以达到爆破或绕反爬的目的。...对登录处使用sm2国密算法的某网站进行爆破 该网站图形验证码失效,只要能对密码字段进行相应的加密,就可以爆破。 访问网站,输入用户名:admin、密码:123456 以及正确的图形验证码进行登录。...我们在全局搜索sm2Encrypt,最终在sm2.js文件中找到了该加密函数。通过百度搜索sm2加密算法,发现该算法是国密加密算法。...最后,经过一个函数一个函数的跟踪其依赖,最终将其加密算法模拟了出来,如下: sm2.js var CryptoJS = require("crypto-js"); var jsrsasign=require...加密函数进行调用爆破,如下: 相关文章:分析网站登录处的加密算法(一) 来源:谢公子的博客 责编:godunt
在某次渗透过程中,碰到了一个登录的网站。于是随便输了个 admin/123456进行登录尝试,准备burp抓包,进行爆破。...右键检测,切换到 Network 选项,点击登录,抓到一个数据包。没错,就是我们进行登录的数据包。...我们在这行打断点,重新登录查看。 一步一步单步调试(F11),跟踪代码。最终,在utils.js文件中找到了encrypt()函数。...注意 一般情况,我们是抓不到网站的vue.js文件的,因为正常的网站会在上线前将vue.js编译成js文件,所以我们只能访问到javascript文件。...而本网站中,我们抓到了vue.js文件是因为网站没有将vue.js文件编译打包,导致我们可以直接查看到vue.js文件内容。
打开网站登陆页面,F12准备就绪,账号密码随便来 点击登录,出现两个包,不用想,肯定是第一个。...看到了base64和rsa加密,继续翻,慢慢找 然后就看到了一个login.js,找到了加密的那句话,encrypt 打个断点,然后再点击登录,最后停在了这句话。
以下是一个简单的 JavaScript 数值加密算法示例: function encrypt(num) { // 将数字转换为字符串 let str = num.toString(); let...加密算法将每个字符的 ASCII 码加上常量 10,并将结果转换为字符。解密算法将每个字符的 ASCII 码减去常量 10,并将结果拼接起来后转换为数字。...如果再不想算法逻辑泄露,可将js代码用JShaman进行混淆加密,加密后的代码将变的不可读、不可分析,但功能依然正常。
抓包 万幸只有一个加密参数,搜索大法好呀,拿着加密参数全局搜一下,参数值呢就是密码输入框的 id 标签,和上一篇分享的那个 JS 逆向案例一样的。有惊喜… ? 十有八九就是它了,来下个断点走起。...点进去瞅瞅,看代码好像找到了JS 加密的代码 ? 一步步往下走,直接断到返回值,发现为空 ? ? 继续往下走,断点又回到最开始那个判断函数,然后进入了另一个加密函数 ?...很简单吧,全部复制下来吧… 破解 找到加密 JS 就好办了,复制下来,在本地调试一波 ? 然后再把调用函数也一并拿下来 ? 在本地执行一下,然后和网站抓包数据比对下结果,结果一致! ?
登录 ... 登录... 登录了解更多课程及促销活动 <form...否则切换不见nav }); open.addEventListener("click",()=> { modal.classList.add("show-modal"); //如果点击的是登录按钮就显示模态框
分享另一个破解JS登录的案例 抓包 网站如下:http://www.airchina.com.cn/www/jsp/userManager/login.jsp 下面是登录的抓包: ?...因为 JS 代码一般是根据输入框的 id 标签取相应的值,然后做加密! ? id标签 搜索结果如下: ? 结果 猜测应该是 RSA 加密! 分析 在加密的位置打上断点,重新发请求: ?...点击该函数进入,可以发现 RSAUtils 的定义及其相应的函数都在这个 JS 文件中,直接一把梭,将该文件中的 JS 代码全部复制下来吧: ?...所以也将bodyRSA 函数对应的的 JS 代码复制下来。最终本地 JS 文件内容如下: ? 最后,自己写个 JS 函数,执行一下,并和抓包的数据进行对比验证结果: ?...总结 可以看到在流程当中比较重要的地方就是: 1.找规律,寻找这些数据的加密规则 2.调试 JS,使用浏览器或者在本地进行调试 3.模拟数据,将这些数据通过代码模拟生成,然后加入到数据当中
如何在A主机和B主机配置单向ssh免密登录? ssh登录报错Permission Denied都有哪几种原因? 背景 之前买的云服务器到期了,今天新买了2个,计划搭个k8s集群。...之前使用率很低,用的时候基本也是登录到云服务商网站,再进入云主机。今天想,干嘛不配置一个ssh免密登录,这样直接在本地电脑就可以直接登录云主机,多方便。...本文所做的配置两台主机的单向免密登录,本质就是使用rsa加密算法生成公钥和私钥,通过将A主机的公钥复制到B主机,实现A主机在ssh远程登录B主机时免输密码。...A主机ssh登录到B主机成功。..../ 密码不对 sshd_config文件中是否限制了密码登录、是否限制了root登录 $ cat /etc/ssh/sshd_config ### 如果为no则会ssh登录报错 ### 修改后可以通过
本文实例讲述了tp5框架使用cookie加密算法实现登录功能。分享给大家供大家参考,具体如下: 首先,我们为什么要对cookie加密?...其次,我们不管要对cookie加密,还要考虑到当我们使用的时候要对加密后的cookie进行解密处理,得到正确的用户名和密码后才能做自动登录一类的功能,下面看看我们的加密方案: 1:在配置文件config
返回的响应是一段JS 这里面包含本地已登录的账户信息,包括账号,昵称和性别以及一些其他参数 3....p_skey字段) 请求响应: 返回的是一段JS,里面的网址是验证网址,我们需要请求它通过验证,不需要额外的参数,直接请求返回回来的这一串网址 5....3.追踪`g_tk`参数花了我不少功夫,其源码在[https://qzonestyle.gtimg.cn/qzone/v8/engine/migrate-plugin.js](https://qzonestyle.gtimg.cn.../qzone/v8/engine/migrate-plugin.js) 的`getACSRFToken`函数中 其实就是各种判断Cookie里面是否存在skey或者p_skey然后拿来做一个简单的移位加密...(响应的JS里面获取)以及p_skey(cookie中获取) res = login_session.get("https://user.qzone.qq.com/{}".format(account
分享一个破解JS登录的案例 抓包调试 下面是登录的抓包: ? 登录 一个 XHR 请求,下断点。或者搜索请求参数 ? 断点 打完断点后,重新发起请求,结果如下: ?...函数h 将这部分代码扣下来,写到本地 JS 文件中 ? 在本地运行一下和网站上结果进行比对验证 ? ? 可以看到 password 这个参数对上了。...验证 其实,这两个 JS 加密函数都可以用 Python 代码来转换!...登录成功了! 总结 JS 逆向需要耐心调试,同时要理清思路,调试过程中发现的加密过程要记录下来,以免后续再发费时间寻找。同时需要大胆的去假设,多尝试。
function keyProcess(e) { var e = e || ev...
最近在学习JS逆向方面的知识,由于之前做过12306的自动抢票软件,因此对12306情有独钟,接下来就给大家介绍一下12306用户登录密码的参数破解办法。...首先我们打开12306的登录界面,打开抓包工具,输入用户名和一个错误的密码(例:123456),点击登录按钮并滑动验证码进行验证,在Ajax包中我们可以点击login这个包进入查看,我们可以发现password...经过查询分析,password 的加密算法在第二个文件中,我们找到对应的 JS 代码,并打上断点。...打上断点后,我们在此输入用户名和密码,点击登录,此时发现浏览器停在了该断点位置,如下图所示 此时我们仔细分析一下该行 JS 代码,发现最后生成的参数是"@"加上一个加密函数返回的结果组成,该函数的第一个参数很显然就是我们输入的明文密码...经过分析,这里面有我们需要的具体的加密算法和解密算法,且该文件的代码只有300多行,因此我们可以将其全部抠出来,放入我们刚封装好的函数的上面中进行调试,运行该代码后,我们发现程序报错,提示:base64js
一、前言 Vue 实现QQ第三方登录授权需要获取到 APP_ID和回调域地址,关于这2个的获取方式可以参考小编的另外一篇文章 Java 实现QQ第三方登录 温馨小提示: 本文基于springboot+...… 二、Vue 实现QQ第三方登录授权 1、在vue项目下的index.html中引入QQ 第三方登录所需JS SDK <script type="text/javascript" src="http...://qzonestyle.gtimg.cn/<em>qzone</em>/openapi/qc_loader.<em>js</em>" data-callback="true" data-appid...url" //登录成功后会自动跳往该地址 }); } } } 3、授权过后在回调页面调用QQ的js方法获取 openId,accessToken export default {...>2.0 import com.qq.connect.api.qzone.UserInfo; import com.qq.connect.javabeans.qzone.UserInfoBean
分享一个用原生JS实现的可拖拽登录框,效果如下: 实现的代码如下: 原生JS...实现可拖拽登录框 body { /* 背景图 */ background...'> 登录通行证...忘记密码 登录
分享一个由原生JS实现的注册或登录时,输入邮箱时下拉提示效果,效果如下: 实现代码如下: 原生JS...实现登录框提示 * { margin: 0; padding: 0; }
charset="UTF-8"> 拖动登录框... 登录会员 登录会员 ...document.querySelector('.login'); var bg = document.querySelector('.bg'); //点击弹出背景和登录框
目录 背景 shiro的认证实现 注册登录 背景 在实现认证的时候,shiro有很多的加密算法,比如md5,SHA-1等。我们现在自己写一个工具类,里面是SHA-1的加密,有盐的加密。...创建凭证匹配器 HashedCredentialsMatcher matcher=new HashedCredentialsMatcher(); // //设置匹配器的加密算法...从工具类里面把加密算法拿出来 matcher.setHashAlgorithmName(DigestsUtil.SHA1); // matcher.setHashAlgorithmName...defaultWebSecurityManager.setCacheManager(ehCacheManager()); return defaultWebSecurityManager; } 以上就实现了工具类的加密的认证 注册登录...也就是在注册代码里面使用了工具类,在登录代码里面也使用了工具类 现在使用的是加密算法是SHA-1,其实还有MD5
QQ登录OAuth2.0:对于用户相关的OpenAPI(例如获取用户信息,动态同步,照片,日志,分享等),为了保护用户数据的安全和隐私,第三方网站访问用户数据前都需要显式的向用户征求授权。...QQ登录OAuth2.0采用OAuth2.0标准协议来进行用户身份验证和获取用户授权,相对于之前的OAuth1.0协议,其认证流程更简单和安全。具体参考文档 :【QQ登录】OAuth2.0开发文档。...QQ互联网站已经提供了PHP,JS,Android和iOS的SDK,缺少.NET版本的SDK,春节假期期间利用一些空闲时间封装了一个具有完全功能的.NET SDK,后续将封装一个对应的Windows Phone...、在项目中添加三个引用Newtonsoft.Json.dll、RestSharp.dll和 QConnectSDK.dll, 在页面上放置按钮,打开qq登录的页面,然后登录成功之后回调您的网站的页面。...如果你是新建站,也可以完全使用qq登录来作为用户体系。
领取专属 10元无门槛券
手把手带您无忧上云