首页 > 数据库 >悦才教育咨询 存在sql注入

悦才教育咨询 存在sql注入

时间:2023-05-31 14:14:57浏览次数:45  
标签:数据库 sql 参数 mysql 咨询 服务器 悦才

 

网址:http://joytalentedu.com/single-blog-post.php?id=387

漏洞描述:

悦才教育咨询(扬州)有限公司是一家针对于促进中美教育学术文化交流的平台型公司,并非传统留 学机构,公司注重“深度挖掘潜力,精准匹配适求”的理念以希望最大程度的开发每一位孩子的潜力,并用专业的角度辅助孩子发掘最适合自己的定位,从而跟进提供成长式教育服务。

悦才教育咨询(扬州)有限公司存在sql注入漏洞,攻击者可利用该漏洞获取数据库信息。

漏洞复现:sqlmap工具

 

 

 

sql修复建议:

1)严格检查输入变量的类型和格式,对于整数参数,加判断条件:不能为空、参数类型必须为数字,对于字符串参数,可以使用正则表达式进行过滤:如:必须为[0-9a-zA-Z]范围内的字符串。

2)永远不要使用动态拼装sql,可以使用参数化的sql或者直接使用存储过程进行数据查询存取。

3)过滤和转义特殊字符, 在变量前进行转义,对'、"、\等特殊字符进行转义。

4)不要把机密信息直接存放,加密或者hash掉密码和敏感的信息。

5)应用的异常信息应该给出尽可能少的提示,最好使用自定义的错误信息对原始错误信息进行包装

6)利用mysql的预编译机制, 把sql语句的模板(变量采用占位符进行占位)发送给mysql服务器,mysql服务器对sql语句的模板进行编译,编译之后根据语句的优化分析对相应的索引进行优化,在最终绑定参数时把相应的参数传送给mysql服务器,直接进行执行,节省了sql查询时间,以及mysql服务器的资源,达到一次编译、多次执行的目的,除此之外,还可以防止SQL注入。具体是怎样防止SQL注入的呢?实际上当将绑定的参数传到mysql服务器,mysql服务器对参数进行编译,即填充到相应的占位符的过程中,做了转义操作。

 

漏洞危害:

1、数据库中存储的用户隐私信息泄漏;

2、通过操作数据库对某些网页进行篡改;

3、修改数据库一些字段的值,嵌入网马链接,进行挂马攻击;

4、数据库服务器被恶意操作,系统管理员帐户被窜改;

5、数据库服务器提供的操作系统支持,让黑客得以修改或控制操作系统;

6、破坏硬盘数据,导致全系统瘫痪;

标签:数据库,sql,参数,mysql,咨询,服务器,悦才
From: https://www.cnblogs.com/wangwenzheng1/p/17445922.html

相关文章

  • TDSQL强同步复制
    一.概述通过分析,我们发现MySQL原声半同步复制缺陷:1、MySQL半同步复制支持退化成异步复制,在严格的金融场景不一定合适。2、MySQL在Slave在收到Master的binlog时,默认情况下无法保证relay log实时落盘,即sync_relay_log=0,如果需要保证relay log实时落盘,即sync_relay_log=1,则每个event......
  • sql
    实验的SQL触发器DDL设置一个触发器,当对student表某位学生进行更新时,限制学生年龄必须超过18,否则报错“学生年龄应该大于18”。CREATETRIGGERUP_STUDENTONSTUDENTFORUPDATEASBEGINDECLARE@SAGEINT;SELECT@SAGE=SAGEFROMINSERTED;IF@SAGE<......
  • sqlmap的使用 ----常用tamper模块,TODO,绕过WAF的测试
    sqlmap的使用----自带绕过脚本tamperwkend2018-09-1520:23:39sqlmap在默认的的情况下除了使用char()函数防止出现单引号,没有对注入的数据进行修改,还可以使用–tamper参数对数据做修改来绕过waf等设备。0x01命令如下sqlmap-u[url]--tamper[模块名]sqlmap的绕过脚本在目录u......
  • MySQL——json类型的应用
    在制作动态报表的时候,如果需要字段灵活配置,用json存储数据,可以让查询变得非常简单。 业务场景:绩效系统中,需要从10个系统中抓取不同数据,并且性能不会太高,但是用于计算的只有其中3个,用哪3个看领导心情,设计一张表存储抓取到的数据。1、傻瓜式做法,设计一张表,从字段1列到......
  • SQl Server添加索引
    USEDBGOIFNOTEXISTS(SELECTNameFROMSysColumnsWHEREid=Object_Id('[HIS_QUEUE]')ANDName='InsertDateTime')BEGINALTERTABLEHIS_QUEUEADDInsertDateTimedatetimeDEFAULT(CONVERT([date],CONVERT([varchar](100),getdate()......
  • mysql数据库自动删除
    关于早上发现数据库丢失,留下了一份文档 检查了下发现是命令的问题 由于使用了这条命令,导致后门被开了,真是血泪的教训。修改远程登录权限的话还是使用updateuser表来修改。......
  • kettle 日志表migrate SQL
    日志kettle.properties配置文件#trans日志(转换)KETTLE_TRANS_LOG_DB=10.15.30.168KETTLE_TRANS_LOG_TABLE=r_log_trans#步骤日志表(步骤)KETTLE_STEP_LOG_DB=localhostKETTLE_STEP_LOG_TABLE=r_log_trans_step#trans性能日志(运行)KETTLE_TRANS_PERFORMANCE_LOG_DB=l......
  • SqlServer2014管理工具创建用户并设置对应访问权限
     需求:创建一个具有访问权限登录的用户,用以访问指定数据库, 对其放开指定数据库的指定表  一、用户名创建以及设置1、首先使用管理员账号登陆到数据库,【安全性】-【登录名】-右键【新建登录名】 【服务器角色】页签中:用于向用户授予服务器范围内的安全特权 【用户映......
  • java同步mysql的数据到PostgreSQL时报错ERROR: invalid byte sequence for encoding "
    最近,同事在做一个功能,通过java程序将mysql中的一张表的数据同步到pgsql中,在同步过程中,插入到pgsql中出现了如下错误:`###Errorupdatingdatabase.Cause:org.postgresql.util.PSQLException:ERROR:invalidbytesequenceforencoding"UTF8":0x00在位置:unnamedportalpa......
  • SQL优化之EXPLAIN执行计划
    前言从今天开始本系列文章就带各位小伙伴学习数据库技术。数据库技术是Java开发中必不可少的一部分知识内容。也是非常重要的技术。本系列教程由浅入深,全面讲解数据库体系。非常适合零基础的小伙伴来学习。全文大约【1965】字,不说废话,只讲可以让你学到技术、明白原理的纯干......