研究Java漏洞的爱好者,不免要经常去Oracle官网下载各种版本的Java JDK,Weblogic等。我们都知道,Oracle相关产品是需要登录才能下载的。这就意味着你要注册个账号,并且每次下载都要登录,这很繁琐!空闲时简单写了个自动化油猴脚本,无需人工注册和登录即可下载。
0x01
收集公开账号密码
网上有很多大佬使用自己邮箱注册了Oracle的账号,并公开了密码,方便大家下载使用,在此感谢他们无私奉献。以下是我收集到的(可成功登录):
[email protected]
OracleTest1234
[email protected]
LR4ever.1314
[email protected]
Oracle123
0x02
编写油猴脚本
油猴脚本的功能是在https://login.oracle.com/mysso/signon.jsp页面,自动完成以下操作。将我们上面收集到的账号密码,填写到Oracle单点登录页面的表单中,最后点击登录,完成下载。具体实现我在源码中已经注释得很清楚了。
我设置了一个变量is_auto_login,默认值为true,就是默认会自动输入账号密码并点击登录。如果你想让脚本只自动填写账号密码不自动点登录,请将其设置false!
// ==UserScript==
// @name Oracle download auto login
// @namespace http://gv7.me
// @version 0.1
// @description 自动登录Oracle官网,方便下载Oracle的各种产品,比如:Java JDK,Weblogic等
// @author c0ny1
// @match https://login.oracle.com/mysso/signon.jsp
// @grant none
// ==/UserScript==
(function() {
;
//是否自动点击登录
var is_auto_login = true;
//获取随机数
function random(lower, upper) {
return Math.floor(Math.random() * (upper - lower)) + lower;
}
//通过标签名,属性名和属性值来定位元素
function getTargetByTAV(t_tag,t_attr,t_value){
var target = document.getElementsByTagName(t_tag);
for(var i=0;i <target.length;i++){
if(target[i].getAttribute(t_attr) == t_value){
return target[i];
}
}
}
//存储账号密码
var users = new Array(3);
var passs = new Array(3);
users[0] = "[email protected]";
passs[0] = "OracleTest1234";
users[1] = "[email protected]";
passs[1] = "LR4ever.1314";
users[2] = "[email protected]";
passs[2] = "Oracle123";
//随机获取一个账号密码,并将其填入登录表单中
var sso_username = document.getElementById("sso_username");
var sso_password = document.getElementById("ssopassword");
var i = random(0,users.length - 1);
sso_username.value = users[i];
sso_password.value = passs[i];
//是否自动点击登录
if(is_auto_login){
var btn_login = getTargetByTAV("input","tabindex",3);
btn_login.click();
}
})();
0x03
脚本效果演示
脚本已经上传Greasy Fork,需要的自行安装。
https://greasyfork.org/zh-CN/scripts/382627-oracle-download-auto-login
本文始发于微信公众号(回忆飘如雪):【第12周】编写油猴脚本,实现自动登录下载Oracle产品
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论