diff --git a/PR_7_js/js/filtered_js/000_wkhtmltopdf-injection.js b/PR_7_js/js/filtered_js/000_wkhtmltopdf-injection.js new file mode 100644 index 0000000..6837abc --- /dev/null +++ b/PR_7_js/js/filtered_js/000_wkhtmltopdf-injection.js @@ -0,0 +1,34 @@ +const wkhtmltopdf = require('wkhtmltopdf') +const express = require("express"); +const app = express(); + + +function input() { + app.get("/add/:userInput", function (req, res) { + return req.params['userInput'] + }); +} +// {fact rule=server-side-request-forgery@v1.0 defects=1} +// ruleid: wkhtmltopdf-injection +wkhtmltopdf(input(), { output: 'vuln.pdf' }) +// {/fact} + +// {fact rule=server-side-request-forgery@v1.0 defects=1} +app.get("/add/:userInput", function (req, res) { + // ruleid: wkhtmltopdf-injection + return wkhtmltopdf(req.params['userInput'], { output: 'vuln.pdf' }) +}); +// {/fact} + +// {fact rule=server-side-request-forgery@v1.0 defects=0} +// ok: wkhtmltopdf-injection +wkhtmltopdf('
', { output: 'vuln.pdf' }) +// {/fact} + +// {fact rule=server-side-request-forgery@v1.0 defects=0} +function okTest(userInput) { + var html = '