各种数据库SQL注入残章
发表时间:2010-03-09 10:33:50 作者: 来源: 收藏本页

INFORMIX    不支持多语句    可以在注射时用filetoclob等函数来操作本地文件43M中国红客联盟-全球最大的红客组织

MYSQL        不支持多语句   43M中国红客联盟-全球最大的红客组织

ORACLE    不支持多语句    一般使用utl_http回调数据,还有好些方式,不一一列举,当然如果能直接操作SQL的话utl_http被禁,43M中国红客联盟-全球最大的红客组织
直接用dblink之类的来回调数据也未尝不可.43M中国红客联盟-全球最大的红客组织

DB2        不支持多语句    如果能直接操作SQL的话,用sqlj.install_jar可以直接远程安装后门包括回调数据43M中国红客联盟-全球最大的红客组织

MSSQL        支持多语句    多语句形式:        ; 空格 回车 /**/    而且多个结果集默认返回第一个!43M中国红客联盟-全球最大的红客组织
每个SQLkeyword之间还可以用非可见字符做分割来绕过某些IDS过滤器之类,43M中国红客联盟-全球最大的红客组织
如,还有什么非可见字符自己去想,用%00(null) 可以把SQL截断,43M中国红客联盟-全球最大的红客组织
用openrowset等可以回调数据,这些都是老话了!43M中国红客联盟-全球最大的红客组织

POSTGRESQL    支持多语句    多语句形式:    ;    多个结果集默认返回最后一个,自己可以构建SQLJ做socket等,类似我写的ORA SQLJSHELL43M中国红客联盟-全球最大的红客组织
还可以调用函数读文件等等,自己去找手册43M中国红客联盟-全球最大的红客组织

SYBASE    支持多语句    多语句形式:    空格 多个结果集默认返回第一个,可以用syb_sendmsg来回调数据43M中国红客联盟-全球最大的红客组织
http://blog.csdn.net/kj021320/archive/2007/08/22/1753629.aspx这里有讲,如果对方的SYBASE是支持ASE_JAVA43M中国红客联盟-全球最大的红客组织
同样可以用SQLJ实现shell43M中国红客联盟-全球最大的红客组织

TERADATA    支持多语句    多语句形式:    ;    DML跟DDL不能同时执行43M中国红客联盟-全球最大的红客组织

43M中国红客联盟-全球最大的红客组织
以上支持多语句的数据库    DDL跟DML同时执行还是会根据每个库有所差别的!43M中国红客联盟-全球最大的红客组织
而且每个UNION ALL 的查询中前后的结果集合中类型转换也有所差别,43M中国红客联盟-全球最大的红客组织
例如int是否可以转换为varchar boolean类型是否能够为null,根据以上思路后者可以自己去逐个逐个去测43M中国红客联盟-全球最大的红客组织

豫ICP备09015648号版权所有© 2001-2009中国红客联盟 All Rights Reserved.