如何在 ASP数据库插马小议

来源:互联网 发布:淘宝装修视频 编辑:程序博客网 时间:2024/04/29 09:02

如何在 ASP数据库插马小议

 

ASP 数据库插马也不是什么新鲜的东东了相信阁下也玩过这个的吧。呵呵,随着技术的发展。那你有没有遇到过插入的 asp 代码被空格拆开的情况呢(即插入的每个字符之间都出现了空格)现在就让我来解决这个问题。

发现只要出现代码被空格隔开的数据库,经过对多例实际情况的分析。相应的字段的 Unicod 压缩属性总是否 ” 相反,如过 Unicod 压缩属性为 “ 则可以通过该字段进行插马。

发现微软官方对 Unicod 压缩的描述: Microsoft Access 2000 或更高版本使用 Unicod 字符编码方案来表示文本、备注和超链接字段中的数据。 Unicod 将每个字符表示为两个字节 … 需要的存储空间比在 Access 97 或更早版本中要多 … 可通过将 “ 文本 ” 备注 ” 或 “ 超链接 ” 字段的 Unicod 压缩 ” 属性的默认值设为 “ 来弥补 Unicod 字符表达方式所造成的影响 ” 经过搜索。

原来开启了 Unicod 压缩的话,哦。数据库会自动把拉丁字符(西欧语言如英语、西班牙语或德语)用 1 个字节来存储;如果没开启,数据库就会用 2 个字节( 1 个字节为 0x00 作为文本将被自动转换为空格)存储拉丁字符,也就造成了拔出的 asp 代码被空格隔开的情况。

这种情况下如何插马呢? 那么。

既然数据库不给我压缩,突破口就在 Unicod 压缩那儿。那么就让我自己来压缩吧。很简单,就是把 asp 代码先转化为 Unicod 然后再插入数据库。用 VB 写了个小软件来实现这个功能,注意由于转换的时候容易发生不可显示的字符(将会出现 ? 所以要精心构造代码咯,当然你也可以捡廉价用图中那个我构造的 ^_^

 

 

转换之后的代码的长度已经减少一半,对 VB 来说。嘿嘿,那这个可不可以说是对最小的 ASP 后门的一种突破呢?