`sql` does not properly escape parameters when building SQL queries, resulting in potential SQLi
该报告还没有中文解读。
原文摘录
摘自原文(2153 字符中的一小部分)
It allows to insert potentially user-controlled content into the queries without proper escaping, in cases where that is not verified additionally in the applications that are using `sql` library.
原文中的代码
var sql = require('sql');
var user = sql.define({
name: 'users',
columns: ['id', 'name', 'email', 'lastLogin']
});
console.log(user.select(user.star()).from(user).limit('1; drop table users').toQuery().text);
console.log(user.select(user.star()).from(user).offset('1; drop table …默认不展示报告全文。以上为简短摘录,完整复现过程请阅读原文。版权归研究员与 Node.js third-party modules 所有。
时间线
- 报告提交
- 公开披露
阅读 HackerOne 原文 ↗作者 @chalker · 版权归作者与 Node.js third-party modules 所有