基于“SQL注入”漏洞谈网络安全问题防范

来源 :中国新通信 | 被引量 : 0次 | 上传用户:xia96316
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  【摘要】    本文就工作中发现的一起SQL注入网络安全漏洞,从事件经过、验证过程、防护建议几个方面,对该漏洞进行了介绍。使读者能够对SQL注入漏洞有一个比较清晰的认识,防止攻击者利用该漏洞对网站数据库进行拖库、撞库、洗库、社工库等操作,进而导致数据泄露、修改网站内容、控制网站等安全事件的发生。
  【关键词】    网络安全漏洞    SQL注入    数据库
  随着互联网技术的迅猛发展,黑客攻击网站的手段也不断提高。借助某种技术手段,非法获取机密数据或非法获取高于系统给定权限的系列行为都属于黑客攻击[1]。如今犯罪分子利用网络安全漏洞进行犯罪的行为已不鲜见,SQL(结构化查询语言,Structured Query Language)注入漏洞就是最常见的一种网络安全漏洞。
  网络安全漏洞不容小觑。SQL注入属于高危风险网络安全漏洞,攻击者通过SQL注入可以获取到网站服务器的数据库名、表名、字段名,进而得到整个网站服务器的数据,对网站用户的数据造成极大的安全威胁。除此以外,攻击者在获取到的数据库信息中,可能得到很多用户的信息,甚至是后台系统管理员的帐号信息,利用管理员的权限对网页进行恶意篡改。这样不仅造成网站数据库信息泄露,对整个网站系统也造成严重破坏。
  一、事件经过
  笔者一直从事对网站的网络安全漏洞扫描工作,于2021年3月发现一起比较典型的SQL注入漏洞,供读者参考。漏洞详细情况如下:漏洞名稱为SQL注入漏洞;漏洞数量1个;漏洞等级为高危;漏洞URL地址为 https://www.---.com/ehall/index.asp(“---”代表网站部分URL地址)。
  漏洞描述为,SQL注入漏洞,就是通过执行用户输入的SQL命令,获取网站数据库信息,简单来说就是欺骗网站服务器从而执行用户输入的恶意SQL命令。具体来说,SQL注入攻击就是利用网站应用程序存在的安全漏洞,向SQL语句中插入了异常代码,改变原有的SQL命令语义,从而获取到想要的数据,达到攻击目的。SQL注入的方法非常灵活多变,根据特定的情况设计特定的SQL命令,在实际工作中也会遇到很多不同的情况。黑客目的是如何构造出巧妙的SQL命令,从而获取想要的数据库信息。而我们的目的,是如何防止黑客攻击,保障网站的健康运行。
  二、验证过程
  我们通过Web安全漏洞扫描工具,发现该网站下面的一个URL地址,存在SQL注入安全漏洞:https://www.---.com/ehall/index.asp?hall=1。下面我们开始对这个URL地址,进行漏洞验证。
  1.我们首先访问主页https://www.---.com/,并查看源代码,发现存在https://www.---.com/ehall/页面连接,如图1所示,访问该连接后继续查看源代码,又发现了https://www.---.com/ehall/index.asp?hall=1链接。
  2.我们对发现的网页连接进行数据请求,并对数据包进行抓取。我们采用GET请求方式,返回值为“200”,响应正常,如图2所示。
  3.修改请求参数为“-1%20OR%203*2*1=6”,即“hall=-1%20OR%203*2*1=6”,我们看到无响应包,证明服务器正在解析该请求。由此判断该网页连接可能存在SQL注入漏洞,如图3所示。
  4.使用sqlmap工具进行注入判断。需要对请求方法进行变更,因为在使用sqlmap进行请求测试时,需要对POST中的参数进行测试,如果是GET请求不会对参数进行检测,如图4所示。
  将该请求数据保存到文本文件中,文件名修改为2.txt,放到sqlmap根目录下。sqlmap为开源项目,下载地址为http://sqlmap.org/,并且需要在python2的环境中运行。安装好之后,就可以执行命令进行测试了。
  5.验证漏洞。使用命令进行验证:python2 sqlmap.py -r 2.txt --random-agent。其中“--random-agent”表示使用random-agent作为HTTP User-Agent头值,不再使用sqlmap默认的HTTP User-Agent头值,因为默认的HTTP User-Agent头值带有sqlmap字样,容易被检测设备发现,添加random-agent之后会从sqlmap/data/txt/user-agents.txt文件中调用HTTP User-Agent头值。命令执行后,结果如图5所示,我们可以看到一些关于服务器的敏感信息。
  6.执行命令,列出当前网站的数据库:python2 sqlmap.py -r 2.txt --random-agent --current-db。命令执行后如图6所示,我们可以看到,这个网站的数据库名为“birtvdata”,这比第5步中看到服务器敏感信息又更加深入了一步。
  7.执行命令,列出网站数据库中的表:python2 sqlmap.py -r 2.txt --random-agent -D birtvdata –tables。执行后如图7所示,可以看到数据库“birtvdata”中的表信息。由于数据库表比较多,所以在图7中我们只列出了部分表信息。这一步是在第6步的基础之上进行的,即发现了数据库名,然后再查看数据库中的表信息。
  通过以上的验证步骤,我们已经可以看到该网站服务器的一些敏感信息,并且查看到网站数据库中的表信息,更深入的操作我们没有再进行。如果是不法分子,完全可以进行拖库,甚至是撞库、洗库、社工库等操作,将网站数据库进行导出,甚至是修改,可能会造成严重的后果。由此我们可以得出结论,这个网站存在SQL注入的网络安全漏洞。   三、防护建议
  SQL注入网络安全漏洞,其本质就是欺骗服务器,进而执行恶意的SQL命令。SQL命令是以SQL语言为基础的,实现对数据库内数据的查询、增加、删除、修改等操作,可大大提高效率。如果被不法分子执行恶意的SQL命令,直接威胁到网站数据库的安全,可能带来严重的后果。造成SQL注入漏洞的原因主要有两个:第一是网站对输入的信息没有进行严格过滤,第二是没有对发送到数据库的信息进行转义。根据这两点原因,我们归纳出针对SQL注入漏洞的防护措施主要有以下几方面。
  1.严格审查,对输入信息进行校验。检查用户输入是否合规,保证用户输入的信息合法,尤其是用户的输入不能直接被嵌入到SQL语句中,防止SQL注入漏洞。
  2.完善机制手段,对用户输入SQL语句的语义进行完整性审查,确认SQL语句的功能目的没有发生改变。
  3.注重对网站數据库的监控。定期查看数据库操作日志,尤其是检查是否存在网站管理员操作以外的SQL语句执行痕迹。
  4.对于网站接入数据库服务器使用的用户,严禁其使用系统管理员权限。对于普通用户的角色,应遵循最小化权限原则,做到可管可控。比如网站上的普通用户,只需要读取数据库内容的权限,那么就禁止该类用户对数据库表的修改权限,如命令drop、insert、update、delete 等。
  5.对用户数据进行加密。对用户名、登录密码等重要信息进行加密保存。防止用户信息被泄露,对网站进行攻击。
  6.在不影响网站正常运行的前提下,使用参数化查询,避免使用拼接SQL语句对数据库查询修改。
  7.防止网站敏感信息泄露。网站在设计过程中,要避免出现一些敏感或者是详细的报错信息泄露,以防止不法分子对这些信息进行搜集,了解网站及服务器的情况,造成SQL注入或者其它漏洞的利用。
  8.对网站进行定期漏洞扫描。定期扫描是发现网络安全漏洞最好的方法,及时修复漏洞,防止网站及服务器遭到攻击破坏。
  四、结束语
  网络安全不容忽视,这是一个关系国家安全和主权、社会的稳定、民族文化的继承和发扬的重要问题,其重要性不言而喻。为了确保网站的安全,除了提升我们的专业技术水平外,还必须提高工作责任心,定期对网站进行漏洞扫描,发现问题及时处理,防患于未然。这次发现的SQL注入漏洞,我们通过几个验证步骤,就已经可以看到网站数据库中的数据表。如果漏洞被恶意攻击者利用,可能会造成严重的后果。
  2018年4月20日至21日,全国网络安全和信息化工作会议在北京召开。中共中央总书记、国家主席、中央军委主席、中央网络安全和信息化委员会主任习近平同志指出,核心技术是国之重器。要下定决心、保持恒心、找准重心,加速推动信息领域核心技术突破。要抓产业体系建设,在技术、产业、政策上共同发力。要遵循技术发展规律,做好体系化技术布局,优中选优、重点突破 [2]。
  参  考  文  献
  [1]潘崇霞,仲伟俊,梅姝娥.不同攻击类型下风险厌恶型企业信息安全投资策略[J].系统工程学报,2019.34(4):497-510.
  [2]新华社.习近平:自主创新推进网络强国建设. 2018-04-21. http://www.cac.gov.cn/2018-04/21/c_1122719824.htm.
其他文献
【摘要】 随着我国科技水平的不断提高,光电子技术也更加成熟,在各个领域中的应用范围不断扩大,并且获得了很好地应用效果。科技的发展日新月异,光电子技术呈现出多样性、多领域的发展趋势,在一定程度上促进了社会的发展和时代的进步,并且随着时间的推移,其影响力也在不断提升。光电子技术主要由光子技术和电子技术构成,涵盖范围十分宽泛,是信息产业的关键内容,很可能对未来世界经济的发展产生巨大的影响。基于此,本文
【摘要】 随着现代社会的进步发展,我国在太空事业的发展上也呈现无与轮比的成果,最为显著的就是2020年我国北斗导航系统的成功建设,经过26年的探索,北斗导航最终成为我国太空上一颗耀眼的明珠,并在人们的生活、工作中发挥着重要的作用。同时,5G技术的进步发展更让我国在通信事业上得到了进一步发展,各行业领域在先进技术的支持下也焕发了新的活力。其中电力行业是我国的重要行业,北斗导航与5G技术的应用至关重
【摘要】 伴随着社会的进步与科技的不断发展,计算机技术获得了较大程度的提高,而在时代建设的过程中,人工智能技术受到了广泛的重视。这一技术的有效利用不仅可以加强智能化控制,而且还可以促进社会各个行业的发展,所以需要针对计算机人工智能技术展开更加深入的研究与分析,提高这一技术的实际利用效果,使计算机人工智能技术能够发挥出更加积极的作用。本文针对相关内容展开了综合性的讨论与分析,首先介绍了计算机人工智
【摘要】 本文研究了重放攻击下具有切换拓扑的二阶离散多智能体系统的安全一致性问题。针对重放攻击,本文提出了一种基于分布式模型预测控制的一致性协议,推导出了多智能体系统在重放攻擊下实现安全一致性的充分条件。通过数值算例验证所提一致性协议的有效性。  【关键词】 多智能体系统 重放攻击 安全一致性 模型预测控制  引言:  多智能体系统的安全性问题逐渐成为了热门的新兴研究方向之一[1]。在实
【摘要】 新时代发展背景下,我国图书馆不断进步和发展,逐渐完善多种硬软件设施,为人们提供更加优质的服务。图书馆管理中应用多媒体技术,逐渐向智能化、多功能的方面进行管理发展,积极革新管理模式,发挥多媒体技术的重要优势和价值,提升管理服务质量和效率。  【关键词】 多媒体技术 图书馆管理 应用研究  引言:  现阶段,图书馆管理中存在一定的不足之处,需要人们不断转变管理理念、创新管理方式,实现
【摘要】 随着互联网医院建设的不断增多,互联网数据安全和信息化作为互为掣肘的两个部分,如何把控互聯网医院的网络安全,成为当前保障医疗信息化建设的重中之重。本文针对互联网医疗领域面临的安全建设挑战,基于国家安全领域相关法律法规和标准,通过商用密码应用和数据安全防护在技术层面上所具有的一定共通性,出于经济性、实用性和合规性的原则将两者结合,提出应用案例和解决方案。从技术层面对保障互联网医院网络安全、
【摘要】 本文以计算机技术为研究对象,站在时代转型发展的角度,针对计算机技术的应用与发展展开探究。首先对计算机技术相关内容进行了简单介绍,其次从不同的方面详细介绍了计算机技术在社会各领域中的应用情况,并对未来计算机技术应用与发展的主要趋势进行了分析,最后探讨了计算机技术应用及发展丞待解决的难题。希望通过研究和探讨,可以为促进计算机技术优势作用的充分发挥提供更多的参考意见,使计算机技术真正成为推动
【摘要】 近年来我国互联网技术发展较快,在经济以及多领域快速发展中能促使社会、企业进入到全新的发展领域。当前处于以互联网为主体的经济时代,在互联网+发展背景下财税管理面临着较大的发展挑战与发展机遇,当前在财税管理中如何紧紧抓住机遇,积极应对多项挑战至关重要。在“互联网+”时代背景下,企业要注重创新发展,在创新中获取较大发展力,适应时代发展要求,更好地服务企业、加速社会化发展进程。本文对“互联网+