Skip to content

Commit 129f434

Browse files
authored
Fix XSS bug & Remove irrelevant console logs
Signed-off-by: zsTree <wa2025666@gmail.com>
1 parent b9fe815 commit 129f434

1 file changed

Lines changed: 10 additions & 15 deletions

File tree

XMOJ.user.js

Lines changed: 10 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
// ==UserScript==
22
// @name XMOJ
3-
// @version 3.3.3
3+
// @version 3.3.2
44
// @description XMOJ增强脚本
55
// @author @XMOJ-Script-dev, @langningchen and the community
66
// @namespace https://github/langningchen
@@ -2526,23 +2526,16 @@ async function main() {
25262526
document.title = "提交状态";
25272527
document.querySelector("body > script:nth-child(5)").remove();
25282528
if (UtilityEnabled("NewBootstrap")) {
2529-
const url = window.location.href;
2530-
const paramsRegex = /[?&]([^=#]+)=([^&#]*)/g;
2531-
let match;
2532-
let CurrentProblemId, CurrentLanguage, CurrentJresult;
2533-
while ((match = paramsRegex.exec(url)) !== null) {
2534-
const [_, key, value] = match;
2535-
if (key == 'problem_id') CurrentProblemId = value;
2536-
if (key == 'language') CurrentLanguage = value;
2537-
if (key == 'jresult') CurrentJresult = value;
2538-
}
2539-
console.log(CurrentProblemId + '\n' + CurrentLanguage + '\n' + CurrentJresult);
2529+
const params = new URLSearchParams(window.location.search);
2530+
const CurrentProblemId = params.get('problem_id');
2531+
const CurrentLanguage = params.get('language');
2532+
const CurrentJresult = params.get('jresult');
25402533

25412534
document.querySelector("#simform").outerHTML = `<form id="simform" class="justify-content-center form-inline row g-2" action="status.php" method="get" style="padding-bottom: 7px;">
25422535
<input class="form-control" type="text" size="4" name="user_id" value="${CurrentUsername} "style="display: none;">
25432536
<div class="col-md-1">
25442537
<label for="problem_id" class="form-label">题目编号</label>
2545-
<input type="text" class="form-control" id="problem_id" name="problem_id" size="4" value="${CurrentProblemId}">
2538+
<input type="text" class="form-control" id="problem_id" name="problem_id" size="4">
25462539
</div>
25472540
<div class="col-md-1">
25482541
<label for="language" class="form-label">语言</label>
@@ -2574,7 +2567,9 @@ async function main() {
25742567
<button type="submit" class="btn btn-primary">查找</button>
25752568
</div><div id="csrf"></div></form>`;
25762569

2577-
var selectElement = document.getElementById('language');
2570+
var selectElement = document.getElementById('problem_id');
2571+
selectElement.value = CurrentProblemId;
2572+
selectElement = document.getElementById('language');
25782573
selectElement.value = CurrentLanguage;
25792574
selectElement = document.getElementById('jresult');
25802575
selectElement.value = CurrentJresult;
@@ -6104,4 +6099,4 @@ int main()
61046099

61056100
main().then(r => {
61066101
console.log("XMOJ-Script loaded successfully!");
6107-
});
6102+
});

0 commit comments

Comments
 (0)