编写油猴脚本,实现自动登录下载Oracle产品

研究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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
// ==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() {
'use strict';

//是否自动点击登录
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