测试SQL注入的软件

我们必须使用旧版的企业资源规划系统(1993年)。

它有多个模块。这些模块有窗口(标签)。标签有列(很明显)。

在这个标签页中,用户可以做一个 “新列”->它就像一个子查询。查询只能用括号()。

我只是好奇,是否可以按用户进行注入。

如:。

 --basic query (self join)
(select i.my_col from my_table i where my_pk = i.pk)

 --illlustrating
(select replace(i.my_col, 'UPDATE...') from my_table i where my_pk = i.pk)

有没有办法让第二个查询可行?我的意思是,用户可以用这种方法更新列吗?

我如何测试它?

解决方案:

动态值可以被处理为 where 状况 preparedStatementsetParameter 但遗憾的是,该选项不适用于动态的 column 选择。

最好的办法是在传递给查询之前,把所有可能适用的列名都准备好。

// check if my_col is possible values else throw the error.
(select replace(i.my_col, 'UPDATE...') from my_table i where my_pk = i.pk)

本文来自投稿,不代表实战宝典立场,如若转载,请注明出处:https://www.shizhanbaodian.com/27710.html

(0)
上一篇 1天前
下一篇 1天前

相关推荐

发表评论

登录后才能评论