今天尝试使用chatgpt尝试探讨咨询一下SQL注入的问题以及如何解决。
首先问的是“作为一个安全工作人员,写一篇关于Java SQL注入以及如何预防的文章,包含所有使用SQL可能存在注入的情况”
结果,结果就是没有等到结果,直接出错了。
于是将问题改为“作为一个安全工作人员,如何可以找出java所有的可能的SQL注入的情况,并给出针对性地解决方案”,这次回答还比较靠谱,
接下来继续咨询“请列举出Java所有可能SQL注入的情况,包含MyBatis,Hibernate和直接执行SQL的情况” 。
这里即列出了各种情况,也给出示例代码,效果很好。
最后又针对一些具体情况进一步咨询如下:“Java的Predicate是执行SQL语句条件的,在什么条件下,会发生SQL注入”
还有就是“如果使用CriteriaBuilder组装查询条件,还可能造成SQL注入吗?”
以前遇到类似问题,都是尝试去看源代码,通过源代码的实现来判断是否可能存在SQL注入,现在,只要问一下chatgpt就可以解决了。
通过以上几个问题,可以发现chatgpt确实在解决问题上很方便,同样的问题,通过google,baidu和bing几个大的搜索引擎,搜索结果很多,而且没有针对性。通过chatgpt就可以很快地得到答案。
不过,有时也不能完全相信chatgpt,例如,问题“鲁迅与周树人的关系”,
回答如下:
这里就回答的不对了。
所以,chatgpt的回答不一定就是正确地, 要想判断答案的正确性,还必须要查询者自己有一定的知识基础,可以判断其中的一些不足的地方。chatgpt是一个很好地工具,可以充分提高效率,但是,也不可盲信,有些答案也需要进一步确认。