查找:                      转第 显示法宝之窗 隐藏相关资料 下载下载 收藏收藏 打印打印 转发转发 小字 小字 大字 大字
【期刊名称】 《江西警察学院学报》
SQL注入案件的日志取证方法研究
【作者】 曾佩璇【作者单位】 中国刑事警察学院
【分类】 刑事侦察学【中文关键词】 SQL注入;日志分析;取证方法
【文章编码】 2095-2031(2018)06-0029-03【文献标识码】 A
【期刊年份】 2018年【期号】 6
【页码】 29
【摘要】

在网络安全问题日益严峻的情况下,SQL注入攻击以其易操作、破坏性大、隐蔽性等特点成为黑客热门攻击方式,网络数据的安全性受到极大威胁和挑战。通过重现SQL注入攻击过程来了解攻击者具体意图。因SQL注入攻击隐蔽性的特点,难以固定有效证据,通过对日志取证方法进行研究,可以固定入侵者IP,查看攻击者实施的具体操作,确认丢失数据,制定正确的侦查计划,为取证提供有利的参考数据。

【全文】法宝引证码CLI.A.1272348    
  
  

网络在给人们提供极大便利的同时,网络的安全问题也不容忽视。目前所开发建设的许多Web系统都存在安全问题,给系统本身以及系统中的敏感数据造成了严重威胁。根据相关风险排名表,SQL注入攻击在高风险威胁中占的比例较大,这表明SQL注入攻击对当前Web应用系统的危害非常严重。 SQL注入攻击被广泛使用,其技术要求不高,危害性大的特点,使SQL注入攻击成为黑客所热衷的方式,导致现在许多网站都遭受到SQL攻击。在SQL注入攻击类的案件中,对黑客入侵的痕迹进行侦查取证非常重要,取证要点是对日志文件进行分析。通过分析日志,从SQL注入类案件中提取出重要证据或线索。保护、收集、分析和归档与系统中案例相关的日志文件,确保日志文件的完整性和真实性,并使日志文件真正成为有效的电子证据。{1}

一、SQL注入攻击过程

(一)SQL注入攻击原理

SQL注入是基于执行恶意的SQL命令以获取所需数据的现有应用程序。其特点是只执行命令但并不体现如何做的过程。攻击者利用此漏洞后并将SQL查询语句作为用户数据提交给服务器,数据库误将攻击者提交的代码当作系统代码执行,最终导致数据的破坏和泄露。{2}SQL注入攻击旨在获取用户敏感信息,如用户名、口令、验证信息等。

(二)SQL注入流程

1.判断当前网页是否可进行SQL注入

如果只是浏览Web内容,则不存在SQL注入攻击。只有接收数据参数的网页才会动态查询存储在数据库中的数据信息,之后再进行SQL注入操作。

2.查找SQL注入点

在动态查询的网页中,判断是否存在SQL注入点的常用方法一般是使用诸如“’”和重言式“and 1=1”等句式,输入参数后,根据系统返回的错误信息判断页面是否存在SQL注入漏洞。只有当添加的查询语句为“and 1=1”和“and 1=2”反馈的结果是错误的信息时,才能证明该应用程序对所输入的信息进行了处理,确定其能遭受SQL注入攻击。

3.判断数据库类型与数据库模式

SQL注入攻击方式根据数据库类型和数据库模式采取相对应的攻击方式。

4.权限扩张

在步骤3之后,可以扩展数据库用户权限。对于SQL Server数据库而言,若该数据库可实施SQL注入,则判断其是否可以进行多语句查询,然后确定数据库用户的权限。如果用户权限为Sa,则可以直接执行数据库用户权限扩展;但是,当不是Sa时,如果能得到数据库表名及列名的信息,则结合逻辑值错误查询和判断的方法来确定字段的值,从而达到权限扩张的目的。小词儿都挺能整

二、SQL注入案件场景重现

最近有许多的公司网站曝出遭到了SQL攻击的新闻,主要是后台数据库账号密码被窃取,后台数据库的内容被恶意修改。

目前大多数SQL注入案件其攻击类型都是通过手动注入来实现的,因为手工注入可以尝试多种探测方法,而且能够更加全面的判断是否存在SQL注入点并获得注入准备信息。随后根据返回的系统信息构造出相应的SQL语句,提取root权限,最后再上传后门。流程图如图1所示:

(图略)

图1手工注入攻击流程图

(一)SQL注入过程中寻找注入点

以metasploitable2为目标机器作为模拟被渗透方,进行SQL查找注入点测试。首先进行基于报错的检测方法(在低安全性能下进行),在输入栏中填写判定“’”触发数据库错误,发现该页面的返回错误信息,则说明该数据库对判定条件进行了处理,随后使用基于布尔的检测,在UR ID中输入判定条件and 1=1(重言式)和and 1=2(与非式),如果两次返回的信息不一致,则确定可以在此注入。{3}发现SQL注入点之后,可以继续查询表列数或者显示信息位于哪一列,可以使用‘order by --’进行查询,order by后面接数字,查询若没有报错则表示该注入的点在该数字的列。

(二)数据库中用户名与密码的猜解

在DVWA的UR ID栏中输入‘order by 9--’后页面返回一个错误,指示该表单不在第9列中,注入‘order by 8--’之后,页面正常返回,表明表单中的列数为8。如果要进行更深入的判断,应猜测其特定网页显示与数据表值的关系。向UR ID栏注入“and 1=2 union select 1, 2, 3, 4, 5, 6, 7, 8--”之后,该数据库的列的具体位置会被显露出来。 UNION语句的使用很严格而且在联合查询时会建立出临时表,临时表不会把具体的内容字节写入数据库,其以网页的形式反馈,当两个查询结果与相对应的列数据类型完全相同时,才可以写入数值。

因此,我们再次构建一个union查询,在UR ID框中输入’union select user, password from users--,随后数据库中所有的表名均可以显示出来。将表名的所有信息复制做成txt文档,在kali中使用john命令进行密码破解。结果显示看到所有的账号分别对应的密码已经破解。破解的账号密码如下图2所示:

(图略)

图2账号密码破解图

(三)手动写入账号密码

当数据库可以写入但是

  ······

法宝用户,请登录后查看全部内容。
还不是用户?点击单篇购买;单位用户可在线填写“申请试用表”申请试用或直接致电400-810-8266成为法宝付费用户。

小词儿都挺能整

【注释】                                                                                                     
【参考文献】

{1}席亚娟.基于metasploit的渗透测试与攻击方法的研究[D].北京:华北电力大学,2017.

{2}张晓翠.基于SQL注入漏洞的渗透测试技术研究[J].电子世界,2018,(14):62-66.

{3}金涛,张启翔.基于SQL注入的Web渗透技术取证方法的研究[J].网络空间安全,2017,8(Z3):55-58.

{4}万欣.网络日志在网络信息安全中的应用[J].网络空间安全,2018,9(3):78-81.

{5}曾远柔,方鹏.以数据库日志为基础的变化数据捕获分析[J].中国高新区,2017,(23):192.

©北大法宝:(www.pkulaw.cn)专业提供法律信息、法学知识和法律软件领域各类解决方案。北大法宝为您提供丰富的参考资料,正式引用法规条文时请与标准文本核对
欢迎查看所有产品和服务。法宝快讯:如何快速找到您需要的检索结果?    法宝V5有何新特色?
扫码阅读
本篇【法宝引证码CLI.A.1272348      关注法宝动态:  

法宝联想
【相似文献】

热门视频更多