java编写过程中发现数据库存在脚本错误怎么处理

来源:爱站网时间:2021-12-20编辑:网友分享
在java编程的时候,我们多半都会遇到关于检索到的数据库数据上的脚本错误的问题,面对这个问题的时候怎么处理比较好?为了让大家更加直观的看到解决方案,爱站技术频道小编整理了以下资料。

问题描述


我在执行更新后的语句上看到跨脚本注入错误。如何清理输出以消除交叉脚本错误。我有一个简单的代码段,它使用PreparedStatement运行选择并返回在前端GUI屏幕上检索到的值。

XSS缺陷消息:“受污染的数据源自对java.sql.ResultSetMetaData.getColumnName的早期调用。”

Java代码:

        Connection conn = null;
        Statement stmt = null;
        PreparedStatement pstmt = null;
        try {
            List alist= new ArrayList();
            pstmt = conn.prepareStatement(sql);
            ResultSet rs = pstmt.executeQuery();
            int count = rs.getMetaData().getColumnCount();
            for (int i = 1; i 

完整Veracode缺陷:攻击向量: javax.servlet.jsp.JspWriter.print

[模块数受影响的:1

描述:对javax.servlet.jsp.JspWriter.print()的此调用包含跨站点脚本(XSS)缺陷。该应用程序使用不受信任的输入填充HTTP响应,从而使攻击者可以嵌入恶意内容(例如Javascript代码),这些恶意内容将在受害者的浏览器的上下文中执行。 XSS漏洞通常被利用来窃取或操纵Cookie,修改内容表示并破坏机密信息,并定期发现新的攻击媒介。 print()的第一个参数包含来自变量getHtml()的污染数据。污染数据源自对java.sql.ResultSetMetaData.getColumnName的早期调用。污染的数据被定向到javax.servlet.jsp.JspWriter返回的输出流中。

思路:


我不知道为什么ResultSetMetaData对象正在调用servlet方法,但是如果我正确理解它,它将用于在servlet中打印某些内容。但是,由于ResultSetMetaData中的所有数据均来自数据库的元数据(可能无法包含javascript代码或其他XSS风险),因此在这种情况下应将其保存。

[ResultSetMetaData是一个常用的类(并且使用了很长时间),所以我真的不认为这在当前的Java版本中是个问题。

因此,我不知道如何解决此问题,但是我很确定这不是问题,因为不可能在数据库的元数据中添加任何恶意软件代码(javascript或sql注入代码)。 >

不知道朋友们看完上述文章后,都了解清楚了java编写过程中发现数据库存在脚本错误怎么处理的内容了吧!关于技术方面的知识,有不懂的朋友可以随时来找爱站技术频道小编。

上一篇:创建Java程序中出现的问题

下一篇:使用解决Java中的ObjectMapper遇到的问题

您可能感兴趣的文章

相关阅读

热门软件源码

最新软件源码下载