Skip to content
This repository was archived by the owner on Jan 15, 2025. It is now read-only.

Commit d0566ac

Browse files
committed
Sanitise input challenge.
Install dompurify used as sanitizer. Update test to match
1 parent 6a1c6cd commit d0566ac

File tree

4 files changed

+29
-4
lines changed

4 files changed

+29
-4
lines changed

Diff for: node-ts/package-lock.json

+22
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Diff for: node-ts/package.json

+2
Original file line numberDiff line numberDiff line change
@@ -23,13 +23,15 @@
2323
},
2424
"dependencies": {
2525
"axios": "^1.3.4",
26+
"dompurify": "^3.0.1",
2627
"dotenv": "^16.0.3",
2728
"express": "^4.18.2",
2829
"slackify-markdown": "^4.3.1",
2930
"tslog": "^4.7.5"
3031
},
3132
"devDependencies": {
3233
"@tsconfig/recommended": "^1.0.2",
34+
"@types/dompurify": "^2.4.0",
3335
"@types/express": "^4.17.17",
3436
"@types/jest": "^29.4.0",
3537
"@types/node": "^18.14.2",

Diff for: node-ts/src/routes/workplace.routes.spec.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,15 @@ describe('/', () => {
88
test('Verify server', async () => {
99
const mode = 'subscribe'
1010
const challenge = 'random_string'
11-
const verify_token = process.env.VERIFY_TOKEN
11+
const verify_token = process.env.WORKPLACE_VERIFY_TOKEN
1212
const query = '?'+[
1313
'hub.mode='+mode,
1414
'hub.challenge='+challenge,
1515
'hub.verify_token='+verify_token
1616
].join('&')
1717

1818
const res = await request(app)
19-
.get("/workspace"+query)
19+
.get("/workplace"+query)
2020
.expect(200);
2121

2222
expect(res.text).toEqual(challenge)

Diff for: node-ts/src/routes/workplace.routes.ts

+3-2
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11
import { Router, Request, Response } from "express";
22
import { Logger, ILogObj } from "tslog";
3+
import { sanitize } from "dompurify"
34
import {WorkplaceBody} from "../entities/workplaceRequest";
45
import {Topic} from "../enums/workplaceEnums";
56
import {handleGroup} from "../handlers/workplace.handler";
67
const log: Logger<ILogObj> = new Logger();
78

89
const {
9-
WORKPLACE_VERIFY_TOKEN, WORKPLACE_APP_SECRET,
10+
WORKPLACE_VERIFY_TOKEN,
1011
} = process.env
1112

1213
const router = Router();
@@ -26,7 +27,7 @@ router.get('/', (req, res) => {
2627
}
2728

2829
log.debug('Validating webhook')
29-
res.status(200).send(challenge)
30+
res.status(200).send(sanitize(challenge.toString()))
3031
});
3132

3233

0 commit comments

Comments
 (0)